Changes 108 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393
  1. -*- change-log -*-
  2. Started on CPAN with B-C-1.04_12
  3. The Perl compiler was in CORE from alpha4 until Perl 5.9.4
  4. and worked quite fine with Perl 5.6 and 5.8.
  5. 1.57_01 2019-05-08 rurban
  6. * C: add dynamic_copwarn to v5.29.7+, cannot initialize
  7. PL_WARN_ALL|NONE statically anymore. Not added to cperl.
  8. * buildcc: pass -cw
  9. 1.57 2019-05-07 rurban
  10. * Makefile.PL: fix wrong t/modules.pm dependency
  11. 1.56 2019-05-06 rurban
  12. * CC 1.16_03: Fixup illegal goto lab_0; (#425)
  13. * C: Support -cross=<path/config.sh> (#428),
  14. improved -m modul support compiling to a shared lib (#340)
  15. (yet untested and unused),
  16. add -DPERL_GLOBAL_STRUCT support,
  17. fix removed _OP_SIBPARENT_FIELDNAME.
  18. * skip many slow -flto tests on smokers.
  19. 1.55_10 2018-11-06 rurban
  20. * C: Add missing optimize flags, required with -flto
  21. * tests: honor and set SKIP_SLOW_TESTS, esp.
  22. for -flto and resulting CI timeouts
  23. 1.55_09 2018-10-21 rurban
  24. * C: Extended mconcat support (aatomic)
  25. 1.55_08 2018-03-09 rurban
  26. * C: fixed REGEXP since 5.27.3, issue 143.
  27. * fixed t.testc.sh PERL_CORE check
  28. 1.55_07 2018-03-09 rurban
  29. * C: one global dJMPENV target, not multiple
  30. * CC 1.16_02: one global dJMPENV target, not multiple
  31. * ByteLoader 0.12: fix bytecode types, xgv_flags, xcv_flag were too small.
  32. type bs_sv to also include PADNAME, PADLIST, PADNAMELIST as union.
  33. 1.55_06 2017-11-24 rurban
  34. Added OP_MULTICONCAT support
  35. 1.55_05 2017-11-12 rurban
  36. Not yet for 5.26/blead, only cperl-5.26
  37. Fix hints/522_patched.pl dependency on C.so [cpan #120161]
  38. Fixed t/sigs.t test TODOs
  39. Beautified t/c*.t TODO output
  40. * C: More support up to 5.25.8/v5.27.1c
  41. PUSHRE replaced by SPLIT, no xpad_cop_seq, PERL_OP_PARENT, SVpbm_VALID
  42. Improved dl_module_to_sofile without 2nd arg
  43. Avoid CvNAMED ->GV vivification [cperl #63, toddr]
  44. Support POK/PVLV REGEXP for v5.27.3/v5.27.2c
  45. 1.55 2017-02-10 rurban
  46. * C: Support 5.24 and 5.24c (ByteLoader and CC got broken with 5.22)
  47. Handle cperl OP_SIGNATURE, but not 5.26 signatures with its 3 new ops.
  48. Fix refcount of cop hints hashes with 5.22-nt (#220)
  49. Add missing B::FAKEOP::rettype for cperl-5.24, causing SEGV on B::CC
  50. Fixed shared xpviv with 5.24 on 32bit.
  51. Fix bytecode.pl call in cperl core.
  52. Optimize CopFILE_set by caching gv_fetchfile (CPANEL-7887)
  53. Abstract utf8_heavy loader (CPANEL-5417, CPANEL-6105, #369, #364) fixing
  54. redefinition warnings, fixing %INC (atoomic)
  55. Improve NV precision, use %17g (atoomic #373)
  56. Fix delayed cvref initialization of XS module functions (#376)
  57. Reset mg_flags without MGf_REFCOUNTED from the source (#390)
  58. Support uselongdouble LDBL_MIN/LDBL_MAX constants
  59. Fixed some IsCOW savepvn lengths (#396)
  60. Optimize mro_isa_changed_in initialization via a new B::HV::Gv_AMG
  61. idea by bdraco
  62. * ByteLoader: Fix various compiler warnings.
  63. Still broken upstream since 5.22
  64. * CC: PERL_OP_PARENT and 5.6 and 5.22 fixes.
  65. support utf8 labels.
  66. 5.24 mostly broken still, cperl 5.24c doing fine though.
  67. * META: fixed the bugtracker and repository
  68. 1.54_03 2016-05-09 rurban
  69. Released with cperl-5.22.2
  70. * C: Remove hash argument from share_hek, always rehash.
  71. Work on PERL_DESTRUCT_LEVEL=2 Unbalanced string table refcount issues.
  72. Fix for CVf_CONST CVs with cperl (constant::import)
  73. Replace %Lu with %lu/%u
  74. Fix for shared xpviv with 5.24. This asserts now if unshared.
  75. * perlcc/cc_harness/TestBC: many more PERL_CORE fixes, to workaround
  76. broken ExtUtils::Embed::ldopts
  77. * tests: skip perlcc with -m32 cross and PERL_CORE. Can only work reliable
  78. on individual CPAN setups, but not with CORE smoking. Blame Configure
  79. Replace test.pl with TestBC.pm. Blame core harness
  80. 1.54 2016-02-26 rurban
  81. cperl fixes and 5.22 memory improvements. cperl now also supported,
  82. even included CORE, but ByteLoader still broken.
  83. * C: Fix defined for RV since 5.20 and ithreads (#354)
  84. Fix anon functions in INIT block (#352) (atoomic)
  85. and more const CV fixes.
  86. Fix C.xs for old non-c99 compilers. i.e. msvc6
  87. Fix segfault from PVMG (#348) (atoomic), regression added
  88. for match once
  89. Fix stack corruption in HV::ENAMES (#351)
  90. Fix SEGV with empty get_cv(), esp. from non-XS functions (#358)
  91. Fixed 5.22 padname length limitation of max 60. Also using less memory. (#361)
  92. New -O2 option -fcow since 5.20 to cow most static strings with ~6%
  93. memory savings (#361)
  94. Support cperl5.22.2 with AvSTATIC and AvIsCOW. ~6% less memory. (#361)
  95. Support cperl5.22.2 with HEK_STATIC. ~6% less memory. (#361)
  96. cperl fixes for DynaLoader, XSLoader improvements (#363), -O3 destruction.
  97. * B::C::Flags: renamed to B::C::Config
  98. * bytecode.pl: support cperl bootstrapping with miniperl in CORE
  99. * Asmdata (1.04): with cperl in CORE @optype @specialsv_name are defined here
  100. also. Cannot load B with miniperl.
  101. 1.53 2015-12-06 rurban
  102. added 5.22 support, some cperl optimizations and fixed most remaining 5.14 issues.
  103. Bytecode broken upstream with 5.22.0
  104. * Bytecode (1.17): removed lastsib bit for 5.21.2-5.21.10, support only moresib op
  105. Add ops for padl, padn, padnl, unop_aux and methop needed for 5.22
  106. ByteLoader was broken upstream with 5.22. You need to build a perl with
  107. `perlall build --patches-Compiler 5.22.0` or use cperl5.22.2.
  108. Added a probe, set $B::C::Flags::have_byteloader
  109. * Disassembler (1.13), Assembler (1.13): support PADNAME and PADNAMELIST for 5.22
  110. * C: fix B::PMOP::precomp for UTF8 (#333, #338, GH#50)
  111. Add 5.22 support with a new unop_aux (multideref) section, methop support,
  112. new support for PADNAME and PADNAMELIST objects.
  113. Fix upstream B::UNOP_AUX::aux_list bug with threads. Use our own method which
  114. returns the PADOFFSET, not the SV. (#341)
  115. Removed B::Section which used base. (toddr)
  116. Re-add PL_sv_objcount on cperl
  117. Fixed XSUB CONSTSUB alias (44,45,... PR #228) (atoomic)
  118. and anonymous CVs for 5.22 (#246, #305)
  119. Proper utf8 support for gv_fetchpv, gv_stashpv and cv_get,
  120. cache gv_stashpv calls.
  121. Fix 5.22 for empty hash keys, share_hek("") (272, GH#249)
  122. Fixed refcounts for shared hek's, fixing the notorious unshare_hek assertions
  123. since 5.10 (GH #251, #255). See 1.06: "Had to disable -O1 -fcog (pv_copy_on_grow)
  124. on 5.10 and higher until I find out how to fool S_unshare_hek_or_pvn. This fixes
  125. all C -O1 and -O2 tests. Warn about this."
  126. Fix Inf/NaN support for C (GH#287)
  127. Fix handling of READONLY hashes in 5.22, i.e. use feature (GH#250)
  128. Support custom op Devel_Peek_Dump, added with 5.20 (GH#274)
  129. Defer regex compilation to new init1 for SWASHNEW (GH#273)
  130. Support unicode labels (upstream B bug) (GH#318)
  131. Skip unneeded init-time lexwarn checks,
  132. support optimized cperl PERL_SUPPORT_STATIC_COP (cperl #70)
  133. Fixed overload stringify broken since 5.18 (GH #219)
  134. by adding a mro_isa_changed_in() to the overloaded stash.
  135. Support multiple stash ENAMES, needed since 5.14 (GH #331)
  136. This fixed many old 5.14 limitations. (Added to our version of B)
  137. Support %^H, storing the hints_hash (features, pragmas) (GH#220)
  138. This fixed many old 5.14 limitations.
  139. Improve MATCH once (m??) handling with reset, find PMOP from
  140. the Regexp dynamically (GH#252)
  141. Bump refcounts of dynamic get_cv refs (#293). Fixes Coro in global destruction.
  142. Skip more XS defined POSIX constants: all that start with 'M' (GH#335, #345)
  143. One more "Eval-group not allowed at runtime" fix (GH#137, GH#346)
  144. * CC (1.16_01): Encode unicode labels (GH#318)
  145. * Stackobj (1.12_01): fix Inf/NaN support for CC (GH#287)
  146. * t/CORE: versioned the core tests and moved to a external submodule
  147. perl11/p5-coretests on github. (GH#332)
  148. 1.52 2014-09-09 rurban
  149. * C: Protect against empty SV ptr in SV magic (\0) with $` with 5.20 (#370)
  150. Save new pmop (?{}) code_list with 5.18 (#372)
  151. Unset PL_use_safe_putenv as in perlmain, which initializes PL_origalen properly,
  152. which fixes setting long a $0 string (#194)
  153. Force Moose when only Class::MOP is loaded to give the needed path hint to XSLoader,
  154. when "Assuming xs loaded $stashname".
  155. * t/test.pl: print @cmd with TEST_VERBOSE
  156. 1.51 2014-08-04 rurban
  157. * C: boot_EV (analog to Coro) SvREADONLY_off its XS symbols (#368)
  158. 1.50 2014-07-23 rurban
  159. * C: fix DBI, special case DBI_MAGIC, call DBI->_install_method to
  160. re-initialize compile-time internal ima pointers (#359)
  161. Skip saving %IO::Handle for *STDOUT, which bloated 5.18 (#361)
  162. Fix XS boot of Class::MOP without Moose, and generalize it to other
  163. xs-loaded modules, which just call bootstrap Module. (#350, #364)
  164. Earlier xs_init for Encode similar to attributes (hack, fixes #32 regression)
  165. Use the system malloc for data being system free'd: cop_warnings,
  166. PMOP->op_pv, sv_debug_file, needed for certain DEBUGGING options.
  167. Fixes Attribute::Handler free errors (#362)
  168. Strip binary BM chunk from comppad names < 5.8.8 (#363)
  169. Save some CvXSUBANY values, esp. relocate any_ptr if possible:
  170. POSIX::is*, DBI, List::MoreUtils::*_iterator.
  171. The any_i32 values are already set in the boot section of the XS.
  172. Fixed initialization of foreign Encodings (#365),
  173. fixed initialization of old Encode versions < 2.58 also (#305)
  174. * CC (1.16): Strip binary BM chunk from comppad names (CC names) < 5.8.8 (#363)
  175. * perlcc (2.20): Strip wrong version-less -I<site_perl> (#366)
  176. * Makefile.PL: Install into archlib on 5.8 and 5.6 (#358)
  177. 1.49 2014-07-12 rurban
  178. * C: Changed IO::Socket::SSL warning to recommend >= 1.995.
  179. 1.996 even has some perlcc specific usage documentation (#317)
  180. Fix PerlIO::scalar XS bootstrap forced by __DATA__ (#360)
  181. We sometimes missed it
  182. 1.48 2014-07-11 rurban
  183. Fixed C walker and 5.18-5.20 Bytecode.
  184. This is the major version which cPanel will use for 5.14.4. With the next
  185. versions we'll start working on -m and buildcc, to split packages into shared libs.
  186. And use B::CC and/or rperl compiled modules selectively.
  187. * C: Make revised -fwalkall the default. Fixes missing dumped method-only packages (#348)
  188. Always save all user-loaded packages. Skip only compiler-loaded packages if
  189. not used by user code. The compiler loads and dumps now additionally only the
  190. heavy parts for utf8 and bytes, and utf8 for m///i, and AnyDBM for dbmopen,
  191. PerlIO::Scalar for __DATA__ handles, and Coro::State::_jit if required, but
  192. nothing else.
  193. Fix for missing RTLD_NOLOAD on BSD, needed for run-time remap of compile-time
  194. XS symbols via dlsym (#351)
  195. Special-case XS loading of Moose.xs from Class::MOP (#350)
  196. Better fix for mult. match once by checking OP_MATCH with ONCE flags in C.xs also (#274)
  197. but there are still some platforms without pmop->op_pmregexp in the C.xs detection runloop
  198. Add op_lastsib bit for 5.21.2
  199. Changed IO::Socket::SSL warning as our patch was rejected upstream.
  200. Need to maintain now a fork cPanel::IO::Socket::SSL to be able to use compiled
  201. IO::Socket::SSL servers. (#317)
  202. * Stackobj (1.12): Harmonize RV checks (fixes cc 105 -O1 and -O2)
  203. * Bytecode (1.16): Replace each %hash with foreach keys in walksymtable also (#307)
  204. Do not store main_cv->START, empty optree since 5.18
  205. Add op_lastsib for 5.21.2, but sort still broken with PERL_OP_PARENT
  206. * Assembler (1.12): error if a PUT method misses an argument
  207. * perlcc (2.19): -B produces again -H bytecode, runnable without -MByteLoader.
  208. Fix default output name from a.outexe to a.exe on a windows-based OS.
  209. * Makefile.PL: fix installation of cc_runtime.h for B::CC
  210. 1.47 2014-06-11 rurban
  211. Fixed Bytecode for 5.18. Fully support 5.18 and 5.20 now.
  212. Greatly reduce code size for C and esp. CC, by including less unneeded dependencies.
  213. * C: detect new Encode >2.58 compile-time usage (#305, RT #94221)
  214. Fix mro maybe::next:: detection (#326)
  215. Fix %INC cleanup logic. Delete packages from %INC only if they were really not saved,
  216. and add packages to %INC which were saved and not just marked for saving. (#340)
  217. Fix lot of skip package logic and consistency parts. Much less packages are now saved
  218. in general which leads to smaller and faster code.
  219. Avoid compile-time compiler internal reloads and redefinitions.
  220. Special-case %warning::Bits on -O3 to not SEGV when changing warnings on run-time loads
  221. on compile-time saved -fconst-string warnings.
  222. Add experimental -fwalkall to add all wanted packages recursively with maxdepth 3.
  223. No tests yet.
  224. Add time and version on top of C source code. Also for CC.
  225. Fix lexical subs for threaded perls (#130, #341)
  226. Add special fixes for Coro: reload Coro jit and SvREADONLY_off some of its XS symbols (#293)
  227. Fix "Eval-group not allowed at runtime" errors since 5.18 (#137),
  228. by settting HINT_RE_EVAL for re-eval groups when compiling the QR
  229. Fix for readonly magic hashes, usually found since 5.20 (#273)
  230. Fix Can't locate object method "bootstrap_inherit" via package "DynaLoader" (#125)
  231. again, as the improved walker now strips DynaLoader from simple one-liners like
  232. 'use Clone' and the DynaLoader detection was too late. Do it now earlier.
  233. * ByteLoader (0.11): fixed filter -H problem with 5.18 (#339)
  234. Disabling the PerlIO_binmode(PL_RSFP, IoTYPE_RDONLY, O_BINARY, 0); hack for [perl #86186]
  235. "Changing filters to be textmode, not binary" fixed the Bytecode problems since 5.18
  236. * perlcc (2.18): Avoid -H for bytecode > 5.18
  237. New --check option
  238. * t/asmdata.t: signicant enhancements
  239. * t/CORE: add mro and re core tests, only mro/isarev.t is unstable, and several re-eval
  240. tests using variables are skipped and unsupported.
  241. 1.46 2014-05-14 rurban
  242. Added global destruction, improved -O4 and CC, fixed mro, @-, $/ $\, Net::DNS, ...
  243. Added mro and re core testsuite.
  244. * C: reset PL_stack_sp on init (was one too far). no effects on code.
  245. Implement global destruction via sv_clean_objs and my_curse on -O3, resp.
  246. prepend static svs PL_sv_arenaroot for sv_clean_objs with a fake sv_list[0].
  247. (#197, #208, #254, #280)
  248. Call DESTROY methods for all our global static SVs (i.e. "global destruction"),
  249. fixes #197, #280, #282
  250. Increment GV->FORM refcounts as they cannot be destructed, analog to CV
  251. Call PL_exitlist functions with -O3
  252. Make the lexical cop_warnings pointer dynamic, because on cv_undef (scope exit,
  253. assign, exit, die, ...) CvROOT and all its kids are freed, ignoring op_latefreed.
  254. The content of the warning is still a static string - and leaks on perl, but
  255. we don't care.
  256. -fwarn-sv is now always set, just not with MSVC on Windows. The warnings are then
  257. directly set, not in a tight loop afterwards, because the value is needed for
  258. the dynamic init.
  259. Fixed lexical warnings on 5.8 (pWARN_STD .. pWARN_NONE)
  260. Improve -O4 by keeping all CvSTART cops
  261. Keep internal packages if used in the source code, e.g. mro (#300)
  262. Fix the order of PerlIO_cleanup, after global destruction (#302, #303)
  263. Since 5.18 padlists are now all dynamic, due to undef issues in non-local exits (#304)
  264. Add -fno-dyn-padlist to -O4 to keep static padlists on 5.18.
  265. Dynamic padlists are needed to prevent from cv_undef crashes on static padlists
  266. when cleaning up the stack on non-local exits, like die or exit or subs on the
  267. compile stack as with Attribute::Handler (#169, #304). Previously only END block
  268. function padlists were dynamic (#298).
  269. Add run-time remap of compile-time XS symbols via dlsym (#305, RT #94069)
  270. Net::DNS includes Encode::XS ascii_encoding, but also init the 3 other encoding ptrs.
  271. Add a fast path for d_dlopen + i_dlfcn systems (i.e. Windows goes the slow init2 route)
  272. Detect new Encode-2.58 which stores encodings better to handle proper
  273. compile-time usage (#305, RT #94221)
  274. Add special SV associations for $/, $@ and $\ (#306, #256)
  275. Save @ISA for all included packages, esp. DynaLoader dependencies (#308)
  276. Replace each %hash with foreach sort keys (#307)
  277. Set ${^GLOBAL_PHASE} with -O3 for END and DESTRUCT (#197, #208)
  278. Do not store invalid GvCV symbols, only cv or &sv_list entries (#313)
  279. Support GvFORM pseudo CVs (B::FM objects) on 5.10 (#149)
  280. Support local $/ = "somestring" (only used empty values before) (#314),
  281. A regression from 1.43
  282. Support local $\ = "somestring" (#318), also a regression from 1.43
  283. Fix special 5.6. associations for $, $\ as they are no SVs there (#306)
  284. Fix wrong caching of internal LEXWARN symbols (#322)
  285. Warn on bad IO::Socket::SSL versions 1.956-1.983 which would SEGV if used as server (#317)
  286. Support __DATA__ blocks in packages without printing wrong warnings (#310)
  287. Support ->(maybe|next)::(method|can) mro method calls (#324, #301)
  288. Support mro c3 (#316)
  289. Support @- @LAST_MATCH_START, the array of the last submatches (#281, #220, #295)
  290. Workaround a 5.18 de-optimization which disabled ++PL_sv_objcount on bless
  291. by adding it if a DESTROY method exists. This will fail since 5.18 if DESTROY
  292. is added at run-time. (#208, #197)
  293. Add new init0 section to initialize -fppaddr ops before init, not afterwards. (#330)
  294. Needed to call utf8::SWASHINIT at init with CALLREGCOMP and /i
  295. Avoid duplicate PL_utf8_tofold ToCf swash initialization with 5.18 (#330)
  296. * CC (1.15): Skip saving non-existing methods analog to B::C 1.43_06 (CC test 50)
  297. Fix failing CopFILE_free and CopSTASH_free in END blocks with threads (#296, CC test 48)
  298. Handle duplicate function names, like multiple END blocks or anon functions (#297)
  299. Replace each %hash with foreach sort keys (#307)
  300. * Bytecode (1.15): Replace each %hash with foreach keys (#307)
  301. * Bblock (1.04): Do not pollute B::CC (find_leaders) with B::Concise
  302. 1.45 2014-02-11 rurban
  303. * t/issue281.t: fix wrong test ($[ vs $])
  304. 1.44 2014-02-10 rurban
  305. added adjusted CORE testsuite for 5.14. passes for 5.14.4-nt, not for 5.18.2-nt
  306. (cPanel code_monkeys)
  307. still missing in general are:
  308. - global destruction (use lexicals!),
  309. - attribute handlers,
  310. - compile-time perlio layers
  311. * C: Fix -O3 with ~ and ~~ formatstrings (#277)
  312. Fix SvLEN and PV ptr for empty shared hash keys (#272)
  313. Use the natural @dl_modules boot order, just put attributes to the front (#259)
  314. Store cop_hints to support lexical numeric hints pragmas,
  315. esp. use bytes and use open attributes
  316. (fixes #81 #152 #174 #176 #180 #185 #224 #235 #238 #241 #245 #253 #255 #256 #277)
  317. Skip saving defined(&cv) subs (#96)
  318. Fix format STDOUT/STDERR (#238, #239, #277, #284, #285, #283)
  319. Save now empty bodyless subs if they exist, for signal handlers,
  320. prototypes declarations and cvrefs (#251, #159, #235, #246, #270, #271, #275, #279)
  321. Fix PVMG PV overwriting the RV, overload sub (#273)
  322. * CC (1.14): Skip saving non-existing methods analog to B::C 1.43_06 (CC test 50)
  323. * perlcc (2.17): Accept -A for -DALLOW_PERL_OPTIONS
  324. * t/testc.sh: Accept -A for -DALLOW_PERL_OPTIONS
  325. 1.43 2014-01-15 rurban
  326. new 5.16, and partial 5.18, 5.20 and windows support.
  327. Many more fixes and testcases.
  328. Bytecode is still broken on 5.18, esp non-threaded. 5.20 looks pretty good though.
  329. * C: Fix -u<module> without file extension.
  330. With hek do not drop FAKE, only for const pv.
  331. Fixed $$ ($PID) to be dynamic, issue 108. Thanks to flexvault for reporting this.
  332. Fixed double precision to 16 digits. The nbody shootout test passes now.
  333. Fixed refcounts of *ENV, issue 111.
  334. Fixed wrong boot_ arg for the xs version check with --staticxs
  335. Better fix for overwriting of @ARGV <O3, test c_argv:1 and c_allow_opts.t:1
  336. Fixed refinition warnings of XS CONSTSUB. Ignore them as they are
  337. loaded later.
  338. Add $dlmodule::VERSION as 2nd arg to boot_$dlmodule resp. $dlmodule::bootstrap
  339. to get rid of the pesky Invalid version format error in xs_version_bootcheck
  340. if the $VERSION had already version magic attached. (no testcase, hard to repro)
  341. perl 5.16.0 shipped a slightly broken B without cop_stashlen. As workaround
  342. we do not support utf8 stashes nor null bytes in stashes on 5.16.0 threaded.
  343. Fixed Null COP storage for 5.16 and 5.17
  344. Fix amagic_generation which was removed with 5.17
  345. Fix ALLOW_PERL_OPTIONS: add -e behind all processed options, not before
  346. Fixed HvAUX init. Previously only with magic hashes, now on all OOK hashes (OOK+SHAREKEYS)
  347. e.g. %warning::Bits
  348. Added support for new PADLIST type since 5.17.4 (with xpadl_id) and 5.17.6 (without)
  349. $^X returns now the real executable name, not just perl or perl.exe
  350. Adjust COW string lengths to hold the COW_REFCNT byte at the end
  351. Fix unicode string CUR and LEN (#142, #162)
  352. Fix unicode hashkeys (HEK) mostly (#200), but not yet testc.sh 2001 (compile-time
  353. stored utf8 heks)
  354. Save HvTOTALKEYS at run-time as max added to the number of run-time added keys (#178)
  355. Fix UV uvuformat on 32bit -Duse64bitint (#145)
  356. op_pmreplstart is now run-time initialized >= 5.10 (#160)
  357. Fixed special usage of magic vars @-,@+,%+,$-,$! (#90)
  358. Fixed wrong REGEXP length for compiled QR data (#143)
  359. Fixed wrong -O3 comparison of strings to numbers (#138,#141, branch new-cog), unified
  360. PV handling, disabled -fcog replaced by -O3 -fconst-strings
  361. Fixed NUL-byte handling in strings by using B::SV->PV instead of PVX (#237)
  362. Storing now bareword filehandles (#148,#149)
  363. Do not create GvGP at all. This also removes the need for newGP() (Windows/AIX)
  364. use Config does not include B anymore, Internals::V now in __ANON__ package
  365. Fixed handling of empty - not successfully autoloaded - CVs (#235, #159, ...)
  366. by storing the SV and XPVCV but ignoring it and defer to run-time get_cv()
  367. Unify handling of static and dynamic strings, use ptr_undef throughout instead
  368. of NULL vs &PL_sv_undef (save_pv_or_rv => savesym, cur, len, pv, static)
  369. Restore $^H, the numeric value of global warnings flags (#193,#207,#243)
  370. Restore more missing globals: ${^UNICODE} ${^UTF8LOCALE} $; $\ $, $/ $" $|
  371. $^A $^L $: $^H $^R $% $- $= if set in a BEGIN block or via cmdline (#256,#231)
  372. Restore even deprecated vars $] $# $* (#171)
  373. Fix HvAUX memory corruption, accessing HvAUX beyond HE fields, esp. with threaded perls.
  374. Initialize now HvAUX backref and mro_meta fields.
  375. Do not boot internal core XS packages twice, refer to internal XS functions dynamically
  376. and do not link to them. Fixes fix Windows/AIX with strict linking.
  377. Defer dynaloaded GvCV initialization after dl_init()
  378. Fixed storage of non-special lexical warnings (#258 warnsize-i258)
  379. Fixed storage of shared heks, support IsCOW_hek (i.e. method names)
  380. Support new ReANY since 5.17.6 (#258 reg_temp_copy)
  381. Support stash symtab magic for PMf_ONCE m?? and reset (#188)
  382. Fixed POSIX overflow constants warnings for DBL_MAX,DBL_MIN,LONG_MIN,LONG_MAX (#262)
  383. Support user-defined static_ext modules, which are already booted from core.
  384. Add more DynaLoader::dl_debug output (set PERL_DL_DEBUG=1)
  385. Enforce -ffold on an ucfirst op or $INC{'unicore/To/Title.pl'} (#242)
  386. Mark empty but overloaded packages (#172). This is merely workaround for reduced testcases.
  387. Set PadnamelistMAXNAMED(comppad_name) needed since 5.19.3 for eval string (#268)
  388. Add new option -fno-delete-pkg to control if to ignore compiler-only dependent packages,
  389. compiler-independent packages are now always saved. Save those package names at Makefile.PL
  390. in @B::C::Flags::deps.
  391. * perlcc (2.14): new option --dryrun, -v5 does not -Dsp,-v
  392. new option -f passthru to C and CC
  393. * perlcc (2.15): fixed default --spawn: use waitpid which was broken for parallel builds.
  394. fixed warning Prototype mismatch: sub main::gettimeofday: none vs () at perlcc line 261
  395. improved --version
  396. added --perlopts to handle -DALLOW_PERL_OPTIONS
  397. * perlcc (2.16): changed output name rules:
  398. Without given output file name we use the name of the input file (in the subdir)
  399. or with -e a.out resp. a.exe and a randomized intermediate C filename.
  400. If the input file is an absolute path on non-windows systems use the basename.
  401. * CC (1.13): Use the B::C integer and double precision logic (ivx, nvx).
  402. Fixed double precision to 16 digits. The nbody shootout is now 2x faster than perl.
  403. Added optimizations: -fno-magic, -fno-autovivify, -faelem
  404. Detect "no autovivification;" pragma.
  405. New -fno-taint, -fomit_taint is deprecated
  406. Fix amagic_generation which was removed with 5.17
  407. Use new perl6 type names: int, num, str. double and string are deprecated.
  408. * Bytecode (1.14): fixed require and op_first, issue 97
  409. Fixed regex_pad offset in threaded perls >= 5.11, issue 68.
  410. New type B::PAD isa B::AV (PADLIST for 5.17.5),
  411. New bytecodes newpadlx, padl_name, padl_sym (PADLIST for 5.17.5)
  412. Fixed CvGV_set causing Attempt to free unreferenced scalar in push_begin (42,43)
  413. Fixed -Do (peek ops)
  414. Renamed option -f to -F for files.
  415. Fixed READONLY magic and restricted hashes, issue 98
  416. Support IsCOW xpvshared strings (>=5.18)
  417. Fixed wrong xpvshared logic (5.10-5.17), issue 138
  418. Optimized away 0=default op and gp flags and pointers
  419. Optimized away default sv_refcnt=1 (GV not), and skip redundant bytecodes
  420. Set PadnamelistMAXNAMED(comppad_name) needed since 5.19.3 for eval string (#268)
  421. * ByteLoader (0.10): set sv_refcnt to 1 in newsv to skip most defaults
  422. * Assembler (1.11): allow "newpadlx 0"
  423. * Disassembler (1.12): use B::Concise op_flags and private_flags
  424. * Stash (1.03): fix compilation for 5.8.8 and below: gv_fetchsv missing
  425. * t/perldoc.t: perlcc fails with 5.8 because Cwd disturbs the
  426. fragile method package finder for File::Spec. Use cc_harness.
  427. 1.42 2012-02-01 rurban
  428. stable up to 5.14
  429. * C: Improved finding methods in parent classes (Warning: method not found),
  430. Save @ISA of those child classes.
  431. Re-implement and simplify my_share_hek, now in terms of share_hek.
  432. PL_strtab hack gone. This fixed the shared_hek destruction
  433. problems.
  434. Turn off CvDYNFILE needed since 5.15.4, use static CvFILE. (DateTime)
  435. * perlcc: perlcc -stash does not hang anymore, renabled t/e_perlcc.t -stash section
  436. * Stash (1.02): '-xs' does not load B anymore.
  437. Now in seperate directory Stash
  438. * Stash/Stash.xs: new with CvIsXSUB() to get rid of B, polluting the stashes.
  439. * Stash/Makefile.PL: new
  440. * Bytecode (1.13): support shared hek (42,43)
  441. * ByteLoader (0.09), ByteLoader/bytecode.h, bytecode.pl: support shared hek (42,43),
  442. added xpvshared
  443. * t/issue95.t: added, isa methods not found
  444. 1.41 2012-01-30 rurban
  445. * t/modules.t: Fixed syntax error
  446. 1.40 2012-01-30 rurban
  447. static PerlIO Layers (e.g. __DATA__)
  448. * C: fixed deferred %INC, %INC is now stored and cleaned up at the end.
  449. Improved __DATA__ handle as PerlIO layer, PerlIO::scalar now
  450. loaded static (test 15).
  451. Defer eval section after dl_init (e.g. for PerlIO::scalar) (test 15)
  452. Check for XSLoader now at the very end (test 27)
  453. Fixed MUTABLE_CV for 5.10.0
  454. Improved 5.8 method lifting for not-found methods a bit (5.8. perldoc.t)
  455. * Bytecode: fixed test 22
  456. Cannot locate object method "fileno" via package "IO::File"
  457. * Makefile.PL: readonly $lib fix for MSWin32
  458. * t/testc.sh: silence ulimit -m warnings + errors
  459. 1.39 2012-01-25 rurban
  460. * C: improved eval AUTOLOAD, avoid some POSIX and Storable .al compile-time
  461. side-effects such as creating files and dirs. First try loading
  462. .al files, only then eval the dangerous AUTOLOAD.
  463. * Makefile.PL: typo in -fav-init2 independent_comalloc detection.
  464. Added LICENSE key, META and the files were not enough to please pause.
  465. 1.38 2012-01-24 rurban
  466. * t/issue93.t: fixed syntax error
  467. 1.37 2012-01-24 rurban
  468. Enabled copy-on-grow strings >= 5.10.
  469. Save %main:: stashes w/o -fno-stash. Switched to git, added github mirror
  470. Fixed hashes and share_hek, when mixed compiled and load-time for >5.8.
  471. Stability: This release is the first which passes almost all tests and
  472. is used in production with --staticxs -O3, but copy-on-grow hek's and
  473. further logical improvements (deferred %INC cleanup) fail so far, so it's
  474. still considered unstable.
  475. * C: save stashes optionally with -fstash, but only values which are also
  476. stashes to avoid a second walker besides savecv, and thus do not
  477. walk into unneeded territory; B::STASHGV (46, issue 79)
  478. New -fno-stash with -O2 to omit stashes which are rarely needed.
  479. Fixed vulnerability to oCERT-2011-003 style DOS attacks. Do not
  480. pre-compute hashes for hv_store(), use fresh random hash seed.
  481. But shared_hek() has a limited API which does not allow this.
  482. UNIVERSAL methods were not correctly stored, which led to method not
  483. found at run-time errors.
  484. New debug option -Dr "runtime" to add debug output to the .c code (as in CC)
  485. New option -Upackage to skip package, mark_skip()
  486. Re-implemented sharepvn via share_hek() and SvLEN=0 (issue 71),
  487. Special FAKE+READONLY handling: LEN = 0 if pv_copy_on_grow or shared_hek.
  488. Fixed !SvIsCOW_shared_hash + FAKE+READONLY conflict (test 13, issue 82).
  489. Shared COW hashkeys which are optimized to static const strings
  490. may not be marked as IsCOW (remove SVf_FAKE).
  491. Re-implemented CORE share_hek with hash=0
  492. Otherwise shared HEK's (post-5.10) come up with duplicate entries
  493. for the same keys; one compile-time created and one run-time created with
  494. a different random hash seed. E.g. observed by such warnings
  495. "Prototype mismatch: sub bytes::length (_) vs (_)"
  496. Added Internals::hv_clear_placeholders XS name exception, similar
  497. to version:: (issue 83)
  498. Store CV prototypes, issue 81 and issue 84 for empty () vs NULL prototypes.
  499. Fixed 5.15.2 hang at hfree_next_entry (issue 78)
  500. Defer writing of READONLY hash keys since 5.15 (issue 88)
  501. Enable -fcog copy-on-grow with static strings for >= 5.10
  502. Improved Errno vs. *main::! and Tie::Hash::NamedCapture vs
  503. *main::+ / - logic (issue 90)
  504. Updated version XS methods, default to noop for (...
  505. Strip version object overload from XS packages (issue 91), XS needs plain PVs
  506. Do not initialize CONSTSUB XS methods twice, boot does it for us
  507. Pass proper cv to XS boot_$name, fixes boot of
  508. Tie::Hash::NamedCapture (issue 86)
  509. Fixed share_hek strings with -O1 (test 13)
  510. Fixed bootstrapping the XS/core part of attributes,
  511. thereby fixed threads tests 41-43.
  512. Fixed most 5.8.[45] problems by ignoring aelemfast SPECIAL pads.
  513. Fixed magic -> PTR when SV (>5.6)
  514. Moved -fsave-sig-hash from -O3 to -O0. You need -fno-save-sig-hash
  515. to disable it.
  516. Removed -fno-stash from -O2, -fno-stash is now the default. You
  517. need -fstash to add stashes. It caused not understood problems.
  518. Fixed saving %SIG signals and more -2 SV magic (issue 92)
  519. Adjusted IO logic, was erronously skipped (issue 59)
  520. inc_cleanup: save only those %INC keys which are stored.
  521. Save ext/mro only if the ext mro methods were loaded, and
  522. utf8_heavy.pl similarly.
  523. Force loading of -u arguments to avoid runtime loading.
  524. Call boot_core_PerlIO, mro, UNIVERSAL and xsutils.
  525. Warn on unsavable IO objects from BEGIN blocks.
  526. Fixed >&STD... handles (issue 93),
  527. i.e. Test::Builder, Test::NoWarnings and parts of the core testing.
  528. See http://blogs.perl.org/users/rurban/2012/01/what-to-avoid-in-begin-blocks.html
  529. Add B::COP::stashflags workaround, >5.15.4 threaded.
  530. Add fix for lost PL_regex_pad, 5.15 threaded.
  531. * CC (1.12): allow overriding of -f<opt> B::C flags.
  532. Skip internal packages with mark_skip (fixes cc_o2 tests).
  533. Move -ftype-attr from -O2 to -O1.
  534. Always define int, double and string package versions, parallel to types.
  535. * Bytecode (1.12): detect Tie::Hash::NamedCapture (issue 90) -
  536. works only partially.
  537. Fixed >&STD... handles (issue 93)
  538. Support -d debugging without -MOd
  539. * Stackobj (1.00_03): add UL or L to overlong integers. doubles
  540. not yet
  541. * perlcc (2.13): added options -O[1-4], -u, -U, --Wc, --Wl, --version,
  542. Keep cfile if output is empty.
  543. Change -o output C file directory and name with -S or -c:
  544. Before in current directory, now in -o directory.
  545. Before with input name, now with -o name.
  546. Add -rpath for all --staticxs libs if supported.
  547. Changed verbosity levels and output wording.
  548. * bytecode.pl: added xio_ifp
  549. * bytecode.h: added BSET_xio_ifp
  550. * META.yml: remove from MANIFEST and repo, let make dist
  551. autogenerate it.
  552. * t/test.pl, t/TESTS: changed test 46 (Exporter:: and other stashes in
  553. %main:: stash) to cover issue 79.
  554. use Exporter; print q(ok) if %main::Exporter::
  555. * t/test.pl: use general comments with optional TODO. Before only TODO
  556. * t/perldoc.t: fixed for 5.8 with manually adding -uFile::Spec -uIO::Handle
  557. * t/issue59.t, t/issue81.t, t/issue90.t, t/issue93.t: added
  558. 1.36 2011-10-19 rurban
  559. lexical warnings and more 5.15 fixes
  560. * C: new B::LEXWARN, fixed representation of lexical warnings which was broken
  561. since 8e01d9a6 5.8.9/5.9.4 (issue 76)
  562. Added section free, use it for lexical cop_warnings (const STRLEN*)
  563. (TODO: static PV, HEK + COPs)
  564. Workaround for utf8::SWASHNEW adjusted to 5.15
  565. PAD* sv flags changed in 5.15.3
  566. XSLoader API changed (HEK in caller i.e.): had to add a
  567. XSLoader::load_file for [perl #101336] >= 5.15.3,
  568. also use mXPUSH for sp instead of 1-arg targ
  569. Set SvLEN=0 for static PVs to skip sv_clear (problem with 13)
  570. Handle overlarge negative 64bit ints, double not yet.
  571. Move -fwarn-sv from -O2 to -O1
  572. Move -fsave-data from -O3 to -O2
  573. Compile *main::DATA IO handle automatically (__DATA__), just package __DATA__
  574. handles need -fsave-data (15)
  575. Die with 5.8.4/5.8.5 threaded with split->pushre on invalid
  576. pmreplroot. This is a core B::walkoptree bug and can not be
  577. easily fixed.
  578. Tests 15 and 103 do not hang anymore, 15 and 29 pass mostly
  579. * C.xs: added -Dts support to runloop to check internal compiler
  580. problems
  581. * t/issue76.t: added
  582. 1.35 2011-10-02 rurban
  583. tested from 5.6.2 until 5.15.3
  584. * C: allow debugging without -MOd=C
  585. improve package_pv detection for methods, two more tests.
  586. detect previously missing packages within the main sourcefile
  587. (50,35,72,73)
  588. -O1 now includes also -fav-init2 and -fppaddr, which are all
  589. stable. -O2 string handling (-fro-inc) still unstable.
  590. added B::REGEXP::save for \$qr (Encode::Alias), issue 71. Still
  591. not fully fixed. Encode::Alias unusable.
  592. fixed empty HV assertions since 5.15, new HV default keys = 7
  593. (3,4,36), but still unsolved 5.15 problem with endless loop in
  594. Perl_hfree_next_entry hv.c:1716 (3,4,36)
  595. workaround 5.15.2 inability to walk with from %INC deleted
  596. stashes, also workaround adding already deleted DynaLoader.
  597. CORE patch [perl #100138] for new 5.15.2-5.15.3 DynaLoader XS_INTERNAL
  598. problem required (16,29,44,45). Fixed with 5.15.4
  599. 0001-Export-DynaLoader-symbols-from-libperl-again.patch
  600. use proper PL_envgv for *main::ENV which is inited in perl_parse
  601. (fixes e.g. CGI apps using run-time values, not compile-time)
  602. * CC (1.11): allow debugging without -MOd=CC
  603. Try to jump from last to unknown label, put labels also onto cxstack.
  604. Fixed cc_last.t test 4, jump out of anonsub, but not across C
  605. functions yet (this is disallowed in C, need to split).
  606. * C.xs: added B::REGEXP::EXTFLAGS (missing from B).
  607. * perlcc (2.12): omit also inc_version_list dirs from perlcc as
  608. leaving them in could lead to unexpected crashes
  609. * t/cc_last.t: Fixed test 2. This works compiled and uncompiled,
  610. but the returned errcode is not compared. Skip if so.
  611. * t/TESTS: add all 5 possible method/sub calls to test 35 =>01234.
  612. See http://blogs.perl.org/users/rurban/2011/06/how-perl-calls-subs-and-methods.html
  613. * t/stash.t: fixed 5.8.8 stashes (overload, threads, ...)
  614. * t/issue71.t: added, but not fixed yet
  615. * ramblings/*.patches: CORE patches added and recommended in README.
  616. * ramblings/blogs-debugging-article[1-4].pod: added to MANIFEST.
  617. * perlcompile.pod, perloptree.pod: improved.
  618. * ramblings/yapceu_2010.pod: added.
  619. 1.34 2011-06-12 rurban
  620. * Makefile.PL: fixed make install < 5.13.7
  621. * issue24.t, test.pl, bytecode.t: TODO more failing tests from cpantesters
  622. 1.33 2011-06-12 rurban
  623. * Makefile.PL: fixed make install > 5.13.7
  624. * test.pl, bytecode.t: TODO more failing tests from cpantesters
  625. * stash.t: fixed freebsd test 4
  626. 1.32 2011-06-10 rurban
  627. more darwin and package scan fixes, Bytecode -i includeall.
  628. all top100 modules can be now be compiled on most perls
  629. * Bytecode.pm (1.11): fixed const xsub xsubany ptr >=5.10 <5.14 (27).
  630. save_cq => save_begin+save_init_end: moved push_begin upfront for the same
  631. init order (44).
  632. add CVf_CVGV_RC flag (refcount) on CV with no backref magic, e.g. END (48)
  633. added option -i includeall which adds no BEGIN require ops, but adds
  634. all included symbols.
  635. better BEGIN block @INC manipulation detection (33)
  636. print newsvx flags if -S or Comment
  637. print hex IV < 8 as int with -S
  638. * C.pm (1.32): check PERL_TRACK_MEMPOOL for AV malloc (25).
  639. fixed init chunk splitting for CV and -fav-init2, if >10000 lines.
  640. fixed overlarge AvFILL=3 of endav. Undefined subroutine &main:: (48)
  641. fixed shared GPs on typeglob assignment. do not gp_free shared GPs,
  642. just set them once.
  643. added try_isa before try_autoload. use mro::get_linear_isa instead of @ISA
  644. mark_package force: detect and fix already discarded packages which
  645. are brought back in directly or by someone else's @ISA. (e.g. Sub::Name
  646. needs DynaLoader::dl_load_flags)
  647. improved method_named package search, still not exact though (LWP)
  648. add manually compiled packages to %INC to avoid a runtime require
  649. special case Config detection, AUTOLOAD = launcher, included by Dynaloader
  650. added -Ds to print all sub names
  651. do not compile any B::C subs, esp. our %SIG handler
  652. add our own Internals::V as it is not exported by libperl
  653. inc the REFCNT of stashes (Path::Class)
  654. * Assembler.pm (1.10): archflag bit 2 for MULTPLICITY
  655. * Disassembler.pm (1.10): archflag bit 2 for MULTPLICITY
  656. use longsize resp. ivsize from .plc not from perl
  657. print newsvx flags
  658. print hex IV < 8 as int
  659. * ByteLoader (0.08): support archflag 2 MULTPLICITY,
  660. [perl #86186] force binary IO for __DATA__ handles, which changed
  661. in core with 5.14
  662. * bytecode.pl: support m for MULTIPLICITY (yet unused)
  663. * Makefile.PL: move cc_runtime.h installation to make install step
  664. (sudo). Tested ok on darwin gcc, does use -I. internally.
  665. * cc_runtime.h: renamed from cc_runtime514.h
  666. * cc_harness: fixed darwin coredir
  667. * perlcc (2.11): fixed darwin coredir.
  668. omit darwin linking to dynamic .bundle - generate .a via libtool
  669. * TESTS: removed END block from test 28, only test run-time require (fixed 28)
  670. added 48 for previous test 28 END block lexvar del_backref failure
  671. added 49 for m//i blowup and -fno-fold testing
  672. added 50 empty @ISA issue 64
  673. * assembler.t: fix for hex->int IV roundtrips
  674. 1.31 2011-03-21 rurban
  675. multiplicity support and more darwin fixes
  676. * C.pm (1.31): replace $ITHREADS by $MULTI (darwin),
  677. my_perl_destruct: disable CopFILE_set NULL and CopSTASHPV_set NULL
  678. on $MULTI, PL_sv_yes|no special on MULTI
  679. * CC.pm (1.10): replace $ITHREADS by $MULTI (darwin)
  680. * t/test.pl, issue34.t, issue35.t: -ofile => -o file (darwin cc)
  681. * cc_harness: -Wl,--warn-once invalid on darwin gcc
  682. * log.modules: encode MULTI without threads as -m
  683. 1.30 2011-03-06 rurban
  684. dbmopen, cc_runtime.h, perlcc, --staticxs
  685. * C.pm (1.30): support dbmopen, fixes issue 24.
  686. fixed xpvmgsect (was xpvsect) !-fcog < 5.10 (YAML, test 41,42,43).
  687. fixed m//i since 5.13.10: swash_init("utf8::Cased").
  688. fixed method_common package_pv detection in most cases.
  689. still two cases open, without tests. PADOP GV NULL 0x20000, GV RV 0x40802.
  690. fixed method_named with >= 1 arg, checking for const PV package_pv (test 35)
  691. support GvCV_set and GvGP_set introduced with 5.13.10. [RT#65630]
  692. implement -staticxs for perlcc --staticxs
  693. either link to found static libs or link to shared lib with
  694. fixed LD_LIBRARY_PATH/PATH (nyi in C, just perlcc).
  695. optimize -fav-init use_av_undef_speedup &PL_sv_undef initialization (again).
  696. reserved -mPackagename (NYI)
  697. added verbose(),module() for CC.
  698. implement outline of -m module, name detection missing.
  699. added -fno-fold recommended since 5.13.9 to omit the huge utf8 tables.
  700. added -fno-warnings, recommended since 5.13.5.
  701. added special workaround for Scalar::Util bootstrapping which did not detect
  702. List::Util, since it is not in its ISA, only required. need a better scan.
  703. fixes test 44.
  704. init XS within Od.
  705. prevent autoloaded STDERR printing on non-debugging perls (e.g. "Storablelogcarp").
  706. * CC.pm (1.09): support dbmopen, issue 24 failing due to XSLoader (test 45)
  707. no pp_name shortnames in embed.h since 5.13.9, use Perl_pp_name(aTHX).
  708. implemented dorassign, fixes issue 45.
  709. fixed XSLoader detection, moved use_xsloader to save_unused_subs()
  710. skip duplicate cc(pp_sub_*) functions (freebsd 45)
  711. added missing END block code (test 28).
  712. added B::C::verbose on -v
  713. fixed B::C::verbose crash by adding B::FAKEOP::fake_ppaddr.
  714. fixed compile_stats
  715. renamed -n module_name to init_name.
  716. check and set -f options from C also.
  717. implement outline of -m module, name detection missing.
  718. added option -fno-name-magic.
  719. added experimental option -ftype-attr.
  720. added TYPES pod section.
  721. added pod for some funcs: load_pad, cc_queue, label.
  722. option -strict only used with DEBUGGING perls.
  723. be less chatty with compiling bblocks.
  724. light layout cleanup of generated code sections.
  725. added Vishal Bhatia <vishal at deja.com> to AUTHORS.
  726. * Bytecode.pm (1.10): support dbmopen, fixes issue 24.
  727. re-added -m, compile as module to .pmc
  728. store AV elems for non-tied AV->MAGICAL >5.6 (i.e. @ISA, ...) (new test 47).
  729. -DA: limcheck PV.
  730. verbosity: added nice1 (condense elements).
  731. name SV indices also.
  732. * Byteloader: support GvCV_set introduced with 5.13.10 [RT#65630]
  733. * perlcc (2.10): fixed -B -r, -B output and run bytecode.
  734. implement --staticxs to workaround DynaLoader problems. use it in t/modules.t
  735. add sopath to PATH on -r. Without -r the sofile should be symlinked so that the
  736. process can find it.
  737. implement --shared and --static, --shared fails on strawberry due to core problems.
  738. implemented getopts bundling: -ScO -e'bla' -v4 -oa is now possible.
  739. disabled some old single-minus switches: -testsuite, -time, -log, ...
  740. requires now double-minus --testsuite, --time, --log, ...
  741. kept legacy handling only for -Wb=.. and -stash.
  742. fixed -B -e'oneliner'.
  743. fixed -B @ARGV, no duplication of @ARGV, c_argv.t 3.
  744. re-added -m|--sharedlib for Bytecode and C (NYI).
  745. print C and CC filtered compiler output.
  746. -v5 adds -v to the compiler options.
  747. -v6 adds -Dfull to the compiler options.
  748. support -Wb= for -B.
  749. fixed -Br for 5.6: add -MByteLoader.
  750. * Stash (1.01): add option xs to print xs modules with -x prefix.
  751. usable via -MO=Stash also.
  752. new option -D for debugging.
  753. omit PerlIO::Layer.
  754. added pod
  755. * Disassembler (1.08): 5.6: fix ldop comments.
  756. add op_type names, add @svnames, add indices, add ldspecsvx type.
  757. * Assembler (0.10): print more flags (as hex) and indices.
  758. better limcheck diagnostics (op,sv,pv).
  759. * cc_runtime514.h: removed from CORE with 5.13.9. [RT#65628]
  760. If so, cp it back. You might need sudo cp. (unchecked)
  761. Renamed not to pollute tests with older perls.
  762. Expanded PERL_MAGIC_taint 't' for 5.6.
  763. * C.xs: added experimental method_cv for the hash-only case, untested.
  764. * t/modules.t: try --staticxs first, try crosscheck without perlcc.
  765. * t/issue24.t: added.
  766. * t/issue45.t: fixed and added 3 more tests.
  767. * t/e_perlcc.t: added to test the new option handling.
  768. * t/testc.sh, t/TESTS: fixed wrong test 39 for 5.8, added 47, 104 (reset), 105 (type-attr).
  769. * t/testplc.sh: added 47.
  770. * t/stash.t: rewritten. allow 5.6, use Test::More, more stable
  771. * t/todomod.pl: added. interactive tool to check log.modules reports and fix TODOs
  772. * status_upd: recommend and fix ./status_upd -f -q -d
  773. -q -d prints only the actual tests
  774. * Changes: added more missing history ca. 1997-2000.
  775. 1.29 2011-01-08 rurban
  776. improve dl_init
  777. * C.pm (1.29):
  778. use DynaLoader::bootstrap_inherit, fixes dl_init when the module has no ISA
  779. DynaLoader. eg. Test::Harness with Time::HiRes
  780. improved CopFILE detection as context for dl_init (test 29)
  781. fix cop_warning cast warnings
  782. print debug messages for beginav and endav
  783. protect against undefined strings, and % in regex
  784. protect against undefined gvcv->GV->EGV (Spiffy)
  785. latefree r-magic regex strings >5.10, fixes a couple of modules
  786. * t/modules.pm: subset use 10 not 11 modules. run tests with -O1
  787. less TODO tests, esp for 5.13
  788. * t/modules.t: fixed binary detection on non-windows (a.out)
  789. * ByteLoader: fixed -Dt for GV
  790. 1.28 2010-12-31 rurban
  791. fixed XSLoader, pmflags, CV and most named methods for 5.14
  792. * Bytecode.pm (1.09):
  793. fixed cv_gv and push_begin del_backref problem (27, ...) > 5.13
  794. special cased op_pmflags: U32 needed since 5.13 (PMf_BASE_SHIFT)
  795. Fixes op_pmflags since 5.12 ((3..4,27..29,31,33), esp. pp_subst
  796. start for Windows 5.12 cop_store_label workaround: Labels disabled for now.
  797. Failed to include CORE hv.c: too large.
  798. mingw 5.12 compiles now again and passes all but 21,33,42..44
  799. Fixed entrytry with Bytecode >= 5.12:
  800. ck_eval upgrades the UNOP entertry to a LOGOP, but B gets us just a
  801. B::OP (BASEOP)
  802. add BEGIN { push|unshift @INC } parts of blocks (test 33)
  803. * Byteloader (0.07):
  804. Support new CvSTASH_set.
  805. Basic op_pmflags U16/U32 support. No version conversion yet.
  806. BSET_gv_fetchpvn_flags: new for empty constant prototypes (fails on 64bit only)
  807. * C.pm: add -fno-destruct (with -O3) with a minimal perl_destruct,
  808. (re-enables -fcog >= 5.10),
  809. add -fro-inc (with -O2) readonly INC and curpad strings,
  810. add -fconst-strings (with -O3) const readonly strings
  811. and const more other fixed strings,
  812. do not boot static core packages (utf8, re, ...),
  813. fixed -O2/-fav-init2: store at wrong avchunk index,
  814. initialise CopFILE and CopSTASHPV static with ITHREADS
  815. improved 5.13 method_named package detection (first and pmreplroot),
  816. in endav still failing (Test::Deep)
  817. fixed overwritten CvSTART for 5.13.x
  818. do not cog/const nullify vars in END blocks
  819. disallow CONST->op_first with CONST_BARE. fixes ExtUtils::Install
  820. better XSLoader::load detection: aliases and defined in END blocks
  821. save XSLoader::load GV (test 46 and modules)
  822. bootstrap also static core packages
  823. add ptr_undef instead of NULL initialization non-threaded
  824. fix many cast warnings
  825. fix AV fill +1
  826. required to run C.xs runloop to find PMOPs for QRs
  827. Fixed entrytry >= 5.12 as in Bytecode:
  828. ck_eval upgrades the UNOP entertry to a LOGOP,
  829. but B gets us just a B::OP (BASEOP)
  830. Fixed XSLoader, loading dynamic modules works now (test 45),
  831. had to set the .pm path in the calling context.
  832. * CC.pm (1.08): many fixes
  833. use new B::C optimizations, new -DF
  834. fixed issue 31 also run C.xs runloop to find PMOPs for QRs,
  835. fixed issue 35 same variable name in different scope (Heinz Knutzen),
  836. fixed issue 36 panic: leaveloop, no cxstack (Heinz Knutzen)
  837. fixed issue 37 orassign (Heinz Knutzen)
  838. fixed issue 38 on and/or return value not just no/yes (Heinz Knutzen)
  839. fixed issue 39 Bizarre copy of ARRAY in leavesub (Heinz Knutzen)
  840. fixed issue 42 remove enter/leave from %no_stack (Heinz Knutzen)
  841. fixed issue 44 aelemfast missing for lexicals (Heinz Knutzen)
  842. fixed issue 47 anonsub in while (Heinz Knutzen)
  843. fixed issue 48 wrong truth value for array assignment in boolean
  844. context (Heinz Knutzen)
  845. fixed issue 49 Can't "last" outside a loop block (Heinz Knutzen)
  846. fixed issue 51 errors on nested if statement with test on multiple variables
  847. (Heinz Knutzen)
  848. fixed issue 52 errors on variable with numeric value used in second
  849. expression of 'and' (Heinz Knutzen)
  850. add labels for alternate ops (e.g. run-time jumps). Not sure yet if the
  851. full alternate subtrees are saved. fixes test 32 (push_label, pop_label),
  852. issue 46. resolve duplicate such labels.
  853. honor $ENV{'PERLMODS'} (by cPanel)
  854. * Disassembler.pm (1.07): read over #! + use Bytecode .plc header.
  855. support pmflags
  856. * Assembler.pm (1.09): support pmflags
  857. * perlcc (2.09): added cc time for --time.
  858. same INC as in caller - omit duplicates
  859. * cc_harness: improve -Bstatic
  860. * t/testc.sh: simplified. Fixed various wrong tests
  861. * t/testm.sh: fixed UAC issues on Win7
  862. * t/test.pl: new faster test functions for the new issues
  863. * t/issue27.t: added (Reported by alexchorny, Apr 25, 2010)
  864. * t/issue29.t: added (Reported by Heinz Knutzen)
  865. * t/issue31.t: added (Reported by Heinz Knutzen)
  866. * t/issue34.t: added (Reported by Heinz Knutzen)
  867. * t/issue35.t: added (Reported and partially fixed by Heinz Knutzen)
  868. * t/issue36.t: added (Reported and fixed by Heinz Knutzen)
  869. * t/issue37.t: added (Reported and fixed by Heinz Knutzen)
  870. * t/issue38.t: added (Reported and fixed by Heinz Knutzen)
  871. * t/issue39.t: added (Reported and fixed by Heinz Knutzen)
  872. * t/issue42.t: added (Reported and fixed by Heinz Knutzen)
  873. * t/issue44.t: added (Reported and fixed by Heinz Knutzen)
  874. * t/issue45.t: added (Reported by Heinz Knutzen), dorassign missing
  875. * t/issue46.t: added (Reported by Heinz Knutzen), fixed by r610
  876. * t/issue47.t: added (Reported and fixed by Heinz Knutzen)
  877. * t/issue48.t: added (Reported and fixed by Heinz Knutzen)
  878. * t/issue49.t: added (Reported and fixed by Heinz Knutzen)
  879. * t/issue50.t: added (Reported by Heinz Knutzen)
  880. * t/issue51.t: added (Reported and fixed by Heinz Knutzen)
  881. * t/issue52.t: added (Reported and fixed by Heinz Knutzen)
  882. * t/issue54.t: added and fixed
  883. 1.27 2010-07-30 rurban
  884. Fixed 1.26 CV regressions for 5.8 and 5.10
  885. * C.pm: add -DF print stringified sv and op flags.
  886. fixed xpvio off-by-one error for 5.10 (test 29)
  887. rewrote XPVCV forwards for >=5.10: (fails before)
  888. 1. only the SV is now forwarded, not the struct.
  889. 2. no duplicate SVs, the CV forward is just a link to one SV (#define CVIX)
  890. removed wrong CVf_ANON check causing CV failures (test 9,10,12). 5.13.3 still failing
  891. fixed CV svsect for 5.8 and 5.10
  892. * Bytecode.pm (1.08): removed wrong CVf_ANON check causing CV failures (test 9,10,12,...)
  893. * perlcc (2.08): added --time, support vprint -1
  894. * t/test.pl, t/bytecode.t: double check failing tests if it works uncompiled
  895. * t/testc.sh: add -D- for no gcc warnings
  896. added -f for testing single optimizations
  897. * t/testm.sh: add -D<args> flags for compiler debugging and link with -g
  898. added -T for perlcc --time
  899. * t/c_argv.t, script/perlcc: properly quote spaces in path of perl and `cwd`/blib
  900. * t/modules.t: add svn rev to B::C::Version
  901. 1.26 2010-07-26 rurban
  902. Start of 5.14 support, CVs broken.
  903. * C.pm: improve -fav-init performance if not usemymalloc: no
  904. calloc, just direct libc malloc.
  905. -O2 uses -fav-init2, i.e. experimental independent_comalloc(),
  906. -O1 uses now -fav-init (Nick Koston + Reini Urban)
  907. Mark a package which is autoloaded from XS.
  908. Fix autoloading of constants AKA const xsubcv via AUTOLOAD [test 27] (Nick Koston)
  909. 5.13.3 support (xpv STASH, MAGIC, ... reorganization), but CVs still failing
  910. Check CVf_ANON when setting cv->GV. Fixes anon subs.
  911. Do not call REGEXP IVX and NVX methods (since 5.11)
  912. * bytecode.pl: CvGv_set since 5.13.3
  913. Fixed byteorder 0x stripping causing wrong bget_swab on 64bit
  914. * B::C::Flags: new. added by Makefile.PL probing independent_comalloc()
  915. * CC.pm: the default -fno-slow-signals adds PERL_ASYNC_CHECK at
  916. the same ops as with 5.13, a major improvement.
  917. * Bytecode.pm (1.07), bytecode.pl: xpvav.xiv_u was removed with 5.13.2 but not
  918. used anymore. read and set av_flags only until 5.12, compile only before 5.10
  919. Check CVv_ANON when setting cv->GV. Fixes anon subs
  920. * bytecode.h: do not PM_SETRE with empty arg. fails since 5.13 debugging
  921. * t/testc.sh, t/TESTS: fail test 44, change threads tests 41-43 to TODO
  922. * perlcc (2.07), cc_harness, t/test.pl: debian specific fixes for their broken
  923. -lperl linker args for ExtUtils::Embed::ldopts.
  924. * t/test.pl: Have complete c/cc TODO/SKIP status in one place.
  925. Fixed killing hangling tests with IPC::Run.
  926. Fixed new cc TODO.
  927. Run CC test 18 even not as AUTHOR
  928. * t/c*.t: make test 27 easier to debug (Nick Koston)
  929. Added test 45 (Nick Koston)
  930. 1.25 2010-04-11 rurban
  931. * C.pm: remove global my_perl, pass it properly around.
  932. * t/c*.t: added test 40 \000 byte in PV failing on ori 5.6.2 (Nick Koston),
  933. added more magic tests for shared vars - n,p,P magic: 39-43. 41 nyi
  934. * t/modules.t: fix -t (run module tests), print header only on full test
  935. * t/modules.pm: do not test core or deprecated modules, esp. do not download perl
  936. Added is_subset.
  937. * t/testm.sh: implement -k
  938. * t/testc.sh, t/TESTS: add 44 for weaken import and magic_killbackrefs #72922
  939. 1.24 2010-02-15 rurban
  940. * C.pm: Fixed off by one array access in magic array init (34)
  941. - valgrind is your friend.
  942. Fixed aelemfast padsv access crash (Text::Tabs on freebsd7)
  943. Fixed wrong stash names in gv_stashpv analog to gv_fetchpv
  944. (Text-Tabs+Wrap t/dandv.t)
  945. * t/testm.sh: implement -s without log file
  946. * t/modules.pm: export skip_modules, silence module scanning STDERR
  947. 1.23 2010-02-14 rurban
  948. * t/testm.sh: chmod +x
  949. * t/modules.t: fix $have_IPC_Run
  950. 1.22 2010-02-14 rurban
  951. Tested with ActivePerl 5.10.0
  952. * bytecode.h: unshare_hek exception for WIN32, not only MINGW
  953. * t/modules.t: Added list of to be skipped modules, which cycle endlessly.
  954. Improve todo message.
  955. * t/testm.sh: add option -s "install skipped modules"
  956. * Makefile.PL, cc_harness, perlcc: fix ldflags for ActivePerl 5.10.0
  957. for MSVC6 (ccversion 12) -opt:ref,icf leads to invalid outfile "pt:ref,icf"
  958. * c+cc test 29 fails on 5.10 randomly. Make it a TODO
  959. 1.21 2010-02-14 rurban
  960. * C.pm: Add missing Nullop for CC on 5.11.4 (cc 12).
  961. Test 38 passes
  962. 1.20 2010-02-14 rurban
  963. * C.pm: #define PERL_CORE broke Null macros on 5.11.4. Define those.
  964. 1.19 2010-02-13 rurban
  965. Almost fixed evaltry (12) with proper cop_seq setup, just solaris and debian
  966. fail sometimes. Tested ok with strawberry 5.10.1
  967. * C.pm: fixed evaltry (test 12) mostly, NVX was shared with 2 xpad_cop_seq ints
  968. which accidently just worked before 1.17 with %s, but not after changing
  969. to the %g representation.
  970. Ignore unused random (overlong) xpviv IV, causing
  971. "warning: this decimal constant is unsigned only in ISO C90"
  972. Defer rv => cv to run-time < 5.10. Fixes ExtUtils::Install
  973. Defer xpvmg->pv init to run-time < 5.10. Fixes MooseX::Types
  974. Check for NV inf. Fixes compilation of DateTime
  975. Defined PERL_CORE: Fxied Windows problems with setjmp undef'ed in XSUB.h
  976. Added Win32 workaround for missing PL_do_undump
  977. Stripped perl_ prefix from perl_get_cv, perl_call_pv, perl_call_method
  978. * CC.pm (1.07): added -fslow-signals.
  979. Disabled inlined pp_enter: Fails on empty cxstack.
  980. Backed out inlining of enterloop: GIMME_V fails on freebsd7
  981. Remove strawberry PerlProc_setjmp definition, #define PERL_CORE fixed that
  982. * Bytecode.pm (1.06): same NVX => xpad_cop_seq fix as in C.pm, added 2 new
  983. bytecodes (cop_seq_low, cop_seq_high), fixed tests 9,10,12. Passes
  984. all tests > 5.6 now.
  985. * bytecode.pl: added cop_seq_low (155), cop_seq_high (156) instead of xnv.
  986. No conversion code for loading older bytecode needed, but fragile (double => 2 int)
  987. * t/modules.t: refactored by Todd Rinaldo (toddr). 4*tests per module:
  988. -s a, exitcode 0, ok, no warnings on stderr
  989. * t/TESTS: added 38, failing on CC (Nick Koston).
  990. added 39, failing everywhere.
  991. * t/test.pl: refactor: Try to timeout on all tests (compiler and exec) if
  992. IPC::Run is installed
  993. * MANIFEST, *.pod: Moved conference pods to ramblings,
  994. removed lib/B/Asmdata.pm again, added t/qr_loaded_module.pm
  995. * t/testm.sh, t/modules.pm: added, -t not working yet though
  996. * t/b.t: $[ => $]
  997. 1.18 2010-02-06 rurban
  998. evaltry (test 12) still broken on most systems.
  999. * C.pm, C.xs: fixed r-magic for 5.6 (ExtUtils::Install,
  1000. File::Temp, Template::Stash). need tests for run-time checks (33).
  1001. 5.6 misses MG->pregcomp
  1002. * t/modules.t: check for a.out (test from toddr)
  1003. * Makefile.PL: create lib/B/Asmdata.pm beforehand (toddr)
  1004. * ByteLoader: fixed duplicate + missing bl_header for bsd and Darwin
  1005. (test from toddr)
  1006. * test 37 added - AV self-refs, analog to HVs (never failed, just to
  1007. be sure).
  1008. Removed -qq from 5.6 tests.
  1009. 1.17 2010-02-03 rurban
  1010. Fixed now most module failures, non-threaded at least: bootstrap was in
  1011. the way. strawberry perl fixes. Fixed test 29, broke evaltry test 12
  1012. * C.pm: Added option -Dfull for all full debugging info, set all options.
  1013. Skip saving XS bootstrap. Fixes most XS module failures. i.e.
  1014. Digest::MD5, Data::Dumper, ..
  1015. Fail: Attribute::Handlers, B::Hooks::EndOfScope, YAML, MooseX::Types
  1016. 4 for 5.8.9-nt from the top100, and 3 for 5.11.4-nt: Attribute::Handlers,
  1017. File::Temp, ExtUtils::Install.
  1018. Fixed AV self-references causing endless loops, analog to HVs (test 27)
  1019. Fixed Getopt::Long crash with AV D magic (regdata),
  1020. save_magic returns now the magic types as string.
  1021. Fixed unescaped savere (test ExtUtils::Install).
  1022. Fixed GvSTASH "initializer element is not constant" (Test::Harness)
  1023. Fixed xrv_list "initializer element is not constant" (Class::MOP < 5.10)
  1024. * CC.pm (1.06): Added missing unexported definitions for MSWin32,
  1025. >=5.10: newGP, vivify_ref, prepare_SV_for_RV (tests 18, 29).
  1026. PerlProc_setjmp, PerlProc_longjmp (tests 12, 32).
  1027. Fixed cxinc for 5.11.0
  1028. * t/bytecode.t: mixed up 32 with 33.
  1029. * t/modules.t, t/top100: new module test, see also the log.modules*
  1030. results in the svn repo.
  1031. * t/mymodules: added as reference, executed optionally.
  1032. * script/cc_harness: ldopts -std if no -B<opt>
  1033. 1.16 2010-01-27 rurban
  1034. use Moose and benchmark still fails. IO even a regression.
  1035. * C.pm: Fixed braces warning for empty xpvcv startfield (Nullany),
  1036. register int for warn_sv loop
  1037. Fixed hv init for magic hashes, pre-allocate array and xpvhv_aux. (test 34)
  1038. Fixed method_named (CPAN #53889, test 35) for B::C, better fix than for B::CC.
  1039. Added -DH for HV debuggging.
  1040. Fixed HV self-references causing endless loops, i.e. with use Moose, test 36.
  1041. * CC.pm (1.05): added experimental -finline-ops. Always on. Can be removed if
  1042. it works okay for the new inlined versions.
  1043. Inlined pp_enter, pp_reset, pp_regcreset, pp_stringify.
  1044. Fixed pp_padsv DEREF for 5.10.
  1045. Documented test coverage for each op.
  1046. Fixed wrong $PERL511 definition.
  1047. Added Opcodes support (no_stack), on CPAN as 0.01.
  1048. added pp_pushmark pp_break pp_continue to no_stack handling.
  1049. Fixed method_named (CPAN #53889, test 35) assuming there is only const
  1050. before method_named. No counter examples found so far.
  1051. Changed new OBJ => OBJ->new
  1052. More curcop->write_back protection.
  1053. * Stackobj.pm (1.00_02): RV fix for 5.11.
  1054. * t/testc.sh, t/test.pl: added CC specific tests to increase CC op coverage
  1055. after 100.
  1056. Switched test 32->101 (arith) with 33->32 (evaltry catch die) as it fails
  1057. with 5.11.3.
  1058. Added new qr test 33 (Nick Koston), test 34 for magic hashes, test 35 for
  1059. broken methodcall syntax (method_named), test 36 for HV self-references.
  1060. * TESTS: added test 32 (evaltry catch die): Fails on 5.11.3 C/CC only,
  1061. <5.11.3 it works okay. Also tests 33, 34, 35, 36.
  1062. * ByteLoader/Makefile.PL: removed cygwin gcc specific stack-protector removal.
  1063. It was a bug of mine.
  1064. Added more AUTHOR gcc -ansi warnings, just -pedantic not.
  1065. * Makefile.PL: Added more AUTHOR gcc warnings, also -pedantic.
  1066. Added optional Opcodes PREREQ_PM
  1067. 1.15 2010-01-03 rurban
  1068. * t/test.pl: Fixed MSWin32 tests again. Lost the 1.13 patches with 1.14.
  1069. 1.14 2010-01-02 rurban
  1070. * CC.pm (1.04): Fixed entereval/leaveeval for 5.10. Fixes eval "", test 12.
  1071. The end of the string CALLRUNOPS needed to be nullified, as in 5.8.
  1072. 5.11 CORE also needs a patch for this.
  1073. Optimized away SP save/restore for %no_stack ops. Need to read this
  1074. from opcode.pl eventually.
  1075. PERL_ASYNC_CHECK (pending signals) added after every basic blocks with -O1
  1076. and every loop.
  1077. * C.pm: More 5.10 union braces.
  1078. * Stackobj.pm (1.00_01): Added iv and nv to peek.
  1079. Added documentation.
  1080. * Bblock.pm (1.03_01): Print the argument (sub) to inspect.
  1081. Added missing documentation.
  1082. * t/testcore.t: improved. added -fail and a list of failing tests.
  1083. C now always with -O3.
  1084. * t/c_allow_opts.t: Added for -DALLOW_PERL_OPTIONS.
  1085. 1.13 2009-12-31 rurban
  1086. Tested with MSVC (MSVC compiles test29 and bigger examples awfully slow!
  1087. 7:30min, 30MB mem, 98% CPU, 2GHz)
  1088. * C.pm: MSVC fix for "(OP*)Nullany" i.e "(OP*){0}" => "{0}". Fixes
  1089. test 27 on MSVC. CC test 12 broken on MSVC AS 5.8
  1090. * bytecode.pl: Restore C strictness, printf before declaration.
  1091. Undefine debop for MSVC also. Fixed [cpan #53228].
  1092. * t/test.pl: Cleanup intermediate MSVC .obj. Skip too slow tests 29
  1093. on MSVC, only c.t
  1094. Remove >nul for test results on Win32.
  1095. More run_cc_perl fixes for Win32.
  1096. Be more quiet on MSWin32 also (no 2>/dev/null)
  1097. Skip stderr redirection to stdout on cmd.exe tests, t/o.t 5,9.
  1098. * t/bytecode.pl: ditto.
  1099. * t/TESTS: Fixed 28 for MSWin32 MSVC
  1100. 1.12 2009-12-31 rurban
  1101. __DATA__ handles work now. Also more Bytecode fixes.
  1102. * t/testplc.sh: Added -S: skip all but -S and Concise
  1103. * Bytecode.pm (1.05): Adapt RV 5.11 change from SV to IV, detect ROK at
  1104. B::IV::bsave analog to C.pm. Fixes test 16.
  1105. Set prototype sv_flags at first, so it cannot assert. Fixes tests 27 and 29.
  1106. More work on 5.6 compat.
  1107. * bytecode.pl: Fixed 5.6 %alias_to sizes.
  1108. * bytecode.h: Fix BSET_cop_label for 5.11. Fixes test 21.
  1109. * t/bytecode.t: Added DEBUGGING to the mix. 5.11 is now completely the
  1110. same as 5.10. Remaining failures are now 9,10,12 for DEBUGGING (or
  1111. non-threaded?).
  1112. * C.pm: Added xpvuv (coverage in 5.6.2 test 21).
  1113. Added PMOP->pmstash/pmstashpv (no coverage yet).
  1114. Checked against -Wall -Wextra:
  1115. Added missing pmop->stash for 5.8.
  1116. Added missing cop->cop_io for 5.8.
  1117. Added braces to union inits (MSVC Todo).
  1118. Remove unused dTARG and dSP.
  1119. Fixed CC test 29 on 5.6.2, not checked why.
  1120. Fixed __DATA__ test 15 on 5.10 and 5.11.
  1121. * TESTS: Updated with 5.10.1 CORE results
  1122. 1.11 2009-12-29 rurban
  1123. Fixed 5.11 RVs, added C optimizations to CC
  1124. * C.pm: Adapt RV 5.11 change from SV to IV, detect ROK at B::IV::save.
  1125. Fixes test 16.
  1126. Added -DW for walk, together with -Dp only.
  1127. Forced fullname optimization scalars for B::CC.
  1128. Export save_sig and fixup_ppaddr for CC.
  1129. * CC.pm (1.03): Fixed Perl_gv_SVadd cast warning.
  1130. Added most B::C optimizations. This fixes all threaded tests 15 >= 5.10.
  1131. Call save_sig, fixup_ppaddr not yet.
  1132. * t/test.pl: simplified (and fixed) keep logic
  1133. * t/c_argv.t: cleanup
  1134. 1.10 2009-12-29 rurban
  1135. Fixed @ARGV
  1136. * C.pm: fixed couple of minor bugs detected with new t/testcore.t:
  1137. t/CORE/comp/retainedlines.t => Use of uninitialized value $len, save_hek
  1138. Use of uninitialized value $i in printf at C.pm line 49
  1139. Undefined value assigned to typeglob at C.pm line 2901
  1140. Do not overwrite run-time @ARGV on >= 5.10 (GP and AV). Fixes test c_argv.t
  1141. * t/testcore.t: added
  1142. * t/c_argv.t: added. test @ARGV and perlcc
  1143. * perlcc (2.06): grab_stash only via new -stash, not automatically;
  1144. B::C is better.
  1145. ldopts -std only when modules are given.
  1146. fix for empty options.
  1147. add -sharedxs, -sharedlib; -shared is now for shared linkage,
  1148. -sharedlib to create a shared lib (was -shared before but never worked),
  1149. -sharedxs to also link shared xsubs, no run-time DynaLoader/XSLoader needed.
  1150. 1.09 2009-12-27 rurban
  1151. * C.pm: Cut down the number of AUTOLOAD'ed optrees, search only on
  1152. empty gv->cv (31).
  1153. Added very unsafe -O4/-fcop to eliminate most cops and file + line numbers.
  1154. Added faster -fav-init to -O2, less unneeded av_extend().
  1155. Get rid of fbm_compile (11). Only 5.8.9 is broken.
  1156. * CC.pm (1.02): partially fix eval "" for >=5.8.9, wrong CORE cc_runtime.h
  1157. definition. (test 29 - eval "")
  1158. * t/test.pl, t/c*.t: Simplify C/CC testsuite.
  1159. * t/testc.sh: fixed -E
  1160. Added -o for orig, no -Mblib
  1161. * t/c_o3.t, t/c_o4.t: added
  1162. 1.08 2009-12-23 rurban
  1163. Adapt coding guidelines, add C and cperl coda. Reformat sources.
  1164. * C.pm: Detect AUTOLOAD and CLONE (test 27 and 31).
  1165. 5.10 is now the best release for unoptimized B::C. 5.8 is faster optimized,
  1166. but misses some autoloaded xsubs.
  1167. Simplify PVMG exclusion; all non-magical, not just PAD_OUR, as in Bytecode.
  1168. * Bytecode.pm (1.04): Add missing BM logic to GV >= 5.10. Fixes test 11.
  1169. Fixed op_pmflags logic for 5.10 threaded only, no += 2. Fixes test 2.
  1170. Protect empty match from setting op_reflags. Fixes test 20.
  1171. Add perlversion to the -S generated header.
  1172. Document more options -TI, -TF, -u<package>
  1173. * perlcc: improve help. use Pod::Usage as module, not via cmdline.
  1174. fix previous installation quirks.
  1175. * assemble: improve pod. make it installable.
  1176. * disassemble: make it installable.
  1177. * cc_harness: ditto.
  1178. * Makefile.PL: added script/* as EXE_FILES to install them.
  1179. * t/TESTS, t/testc.sh, t/testplc.sh: test 31 non-xs AUTOLOAD added
  1180. * ByteLoader/Makefile: tuning, bytecode.h triggers now byterun.c
  1181. * bytecode.h: Specialize pregcomp on 5.10; add PL_regex_pad[0] for
  1182. pregcomp if missing. fixes tests 3,4,5,7,31 on 5.10.
  1183. 1.07 2009-12-19 rurban
  1184. * C.pm: fix fbm_compile (INDEX) for >= 5.10. gv_list is already a pointer.
  1185. rewrite PVGV (ie PVBM) init for >= 5.10. (test 11)
  1186. Added CV->save_magic (untested)
  1187. Fixed two wrong my decelarations detected by the new Od debugger.
  1188. * README: Clarify DIFFERENCES section for CC only. Esp. the
  1189. Context of ".." section. New test 30
  1190. * t/TESTS, t/testc.sh, t/testplc.sh: test 30 added for Context of ".."
  1191. * t/testc.sh: fix -k logic, keep .pl for -O tests
  1192. 1.06 2009-12-18 rurban
  1193. Going public on the Perl birthday
  1194. The first public compiler re-release since it was removed from CORE.
  1195. * C.pm: Had to disable -O1 -fcog (pv_copy_on_grow) on 5.10 and higher
  1196. until I find out how to fool S_unshare_hek_or_pvn. This fixes all C
  1197. -O1 and -O2 tests. Warn about this.
  1198. Fix wrong RV init on *5.10* for test 29 also, as with 5.11.
  1199. Simplify __DATA__ handling. Warn when -O3 or -fsava-data is missing.
  1200. Enable working -fsava-data on 5.8 and 5.10 threaded. Fixes couple of tests 15.
  1201. Fix 5.8/5.10 PVMG pv = &PL_sv_undef for empty comppadnames
  1202. * t/testc.sh: -k keep added. Delete temporaries on PASS as new default.
  1203. -E added. Dump preprocessed source file with cc -E as _E.c (was default before)
  1204. * Version bump to official:
  1205. B::C 1.06 (1.05 is in 5.8.9)
  1206. B::CC 1.01
  1207. B::Bytecode 1.03
  1208. B::Asmdata 1.03
  1209. B::Assembler 0.09
  1210. B::Disassembler 1.06
  1211. B::Bblock 1.03
  1212. ByteLoader 0.07
  1213. 1.04_33 2009-12-17 rurban
  1214. * t/cc*.t: skip some memory eating failing tests.
  1215. * MANIFEST: dummy lib/B/Asmdata.pm added to fix cpan smokes on BSD.
  1216. Thanks to Slaven Rezic.
  1217. * C.pm: fix tests 14,16,23 on >=5.10, missing AV magic for
  1218. CV main::a, protect PVMG from SvPAD_OUR.
  1219. fix wrong RV init on 5.11 for test 29
  1220. * CC.pm: fix ARGS >=5.10 (in require, test 28).
  1221. Enable quiet. No -q for quiet, just -v (verbose) or any -D switch turns
  1222. on verbose.
  1223. * t/testc.sh: Added test 27 (import), test 28 (require), test 29 (use)
  1224. [Nick Koston]
  1225. 1.04_32 2009-12-14 rurban
  1226. Only two 5.10 B::C bugs remaining!
  1227. * C.pm: added missing FBM logic to GV >= 5.10 (test 11).
  1228. Forbid MAGIC on non-magival SVs >= 5.10 (tests 14 + 23).
  1229. Special PVMG PL_sv_undef string. (namesv problem on 10,14,23)
  1230. 1.04_31 2009-12-14 rurban
  1231. * C.pm: fix test 21 on 5.10 "Bad free() ignored". Dynamically
  1232. allocate CopLABEL.
  1233. * Makefile.PL: fix the make depend section > 5.9
  1234. * t/testc.sh: fix -D option
  1235. 1.04_30 2009-12-13 rurban
  1236. Better 5.6 support, but Bytecode compiler still disabled.
  1237. Not even the Byteloader works for 5.6 assembled code. The Disassembler
  1238. does not stop at ret. Fixed several C tests.
  1239. * bytecode.pl: renumbering policy: <= 5.6 squeeze, >= 5.8 fixed
  1240. to force exact bytecode numbering as with 5.8.
  1241. Allow float versions, such as 10.001 for subreleases.
  1242. Add perlversion to header.
  1243. Add byteorder check logic.
  1244. Added logic to include all possible unsupported ops, all holes.
  1245. bytecode table checked for 5.6.1, 5.6.2, 5.8.0, 5.8.1-5.11
  1246. Note, that I found official and contradicting 5.6.1 releases.
  1247. ActiveState 5.6.1.626 had no op_children, the unix release tarball
  1248. with 5.6.1 (called Trial 1) still has it.
  1249. * ByteLoader.pm (1.06_06): better bytecode numbering.
  1250. * Asmdata.pm (1.02_02): strict numbering along 5.8.
  1251. Unsupported ops are now also included, with PUT method 0.
  1252. * Assembler.pm (0.07_07): Add perlversion to header
  1253. * Disassembler.pm (1.05_04): Add perlversion to header.
  1254. Print header only for existing.
  1255. * BcVersions/Asm*.pm, BcVersions.pod: added for most versions with the
  1256. CORE compiler.
  1257. * disassemble: Make it work with the older Disassembler.
  1258. Make it work with older bytecode >= 5.8 via Asmdata unsupported ops.
  1259. * i386.xs, jitcompiler.pl: removed (seperate module)
  1260. * bytecode.h, C.xs: Fixed for 5.6, tested with 5.6.1 with MSVC.
  1261. * bytecode.h, byterun.c: add static int force = 0. Override it to 1 to
  1262. try out executing older bytecodes.
  1263. * C.pm: fix test 16 on 5.10 again, non-threaded only (GVAV magic).
  1264. first fix in 1.04_24, broken in 1.04_28. On 5.11 I have a broken
  1265. RV handling here.
  1266. Remove version and Regexp::DESTROY from the automatic methods
  1267. (experimental).
  1268. First attempts with pv and hek consting failed.
  1269. * t/testc.sh, t/testplc.sh: support proper cmdline arguments, add -h for
  1270. help
  1271. Fixed test 5 by fixing the wrong test.
  1272. * perloptree.pod: renamed from perloptreeguts.pod. Added links.
  1273. 1.04_29 2009-12-07 rurban
  1274. Disable the Bytecode compiler for 5.6. Fixed besides the __DATA__ handle
  1275. (test 15) all remaining 5.8 C bugs.
  1276. * C.pm: assign the PVX of GV also for empty stashes (main::) to avoid
  1277. destruction failures at Perl_pad_undef() SvPVX_const(namesv) == '&'.
  1278. Fixes tests 14 and 23
  1279. * byterun.c: No assert on empty bs_sv, it is &PL_sv_undef.
  1280. Map missing -Dv on 5.6 to -Df i.e. -D256
  1281. Added better debugging output: setter values.
  1282. * STATUS: re-run CORE tests, list cmdlines, update status
  1283. * Disassembler.pm: added gen_header_hash() for gen_header output.
  1284. add to documentation.
  1285. * Bytecode.pm: -S uses gen_header_hash for gen_header output.
  1286. 1.04_28 2009-12-06 rurban
  1287. * C.pm: fix -fcog (Copy on Grow with -O1 and -O2) for >= 5.10 by a new
  1288. SVPV.
  1289. Statically initialize PVs with a union layout trick. Use char* as first
  1290. union member.
  1291. Revert xpvcv+svsect changes to pre-initialize those structs against
  1292. gvcv recursion.
  1293. * t/b.t, t/o.t, t/stash.t: fix tests for 5.6.2
  1294. * bytecode.c: byteorder swab only if same length.
  1295. 1234 => 4321, 12345678 => 87654321.
  1296. Skip a 0x prefix for byteorder in the header. Perl 5.6 had this.
  1297. * Assembler.pm (0.07_06): 5.6 byteorder fix: until 5.6 the
  1298. $Config{byteorder} was falsely dependent on ivsize, we need longsize.
  1299. Add 0x to byteorder in header again, as with 5.6.
  1300. * t/testc.sh: do not run old leftovers. some 5.6 optimizations
  1301. * t/c_o1.t, t/c_o2.t, t/cc_o2.t, t/cc_o2.t: added
  1302. * t/test.pl: support -O1 and -O2
  1303. * broke ByteLoader
  1304. 1.04_27 2009-12-04 rurban
  1305. * CC.pm (1.02_03): fixed endless loop in optimized sort. The sortcv
  1306. cmp needed a return NULL (test 19).
  1307. * c.t, cc.t: add failing tests as TODOs
  1308. 1.04_26 2009-12-02 rurban
  1309. * C.pm: remove nv->IVX for 5.10 (Can't locate object method "IVX" via
  1310. package "B::NV").
  1311. protect mg->OBJ when SCALAR (Can't call method "save" on unblessed
  1312. reference).
  1313. fix NV isa IV, to fix test 23 (Nick Koston).
  1314. fix CopLABEL for 5.11 (test 21)
  1315. fix PMOP extflags, esp. for split on >= 5.10 (test 5 + 7)
  1316. add fbm_compile() to BM::save >= 5.8 (test 11) (Nick Koston)
  1317. * t/c.t, t/testc.sh: added tests 23, 24 (Nick Koston)
  1318. * Bytecode.pm (1.02_04), bytecode.h: store and set PMOP reflags
  1319. as U32. Fixes tests 2-4,7
  1320. Start of backporting Perl 5.6
  1321. 1.04_25 2009-11-30 rurban
  1322. * C.pm: fixed IO for 5.11: LINES => IVX.
  1323. specialize GvLINES = -1 and protect against U32 signed-ness.
  1324. fixed test 8 main::AUTOLOAD (unoptimized only)
  1325. * t/test.pl: enable -Mblib for all Perl versions.
  1326. fix 5.6.2 ldopts by explicit checking of (-lperl|CORE\/libperl5).
  1327. make test works now for 5.6.2
  1328. * t/cc.t: adapt TODOs
  1329. * t/c.t: add TODOs 15 for 5.6
  1330. * script/perlcc: a.exe for cygwin also
  1331. 1.04_24 2009-11-29 rurban
  1332. * C.pm: fixed more CV basics (test 9), just stash for autoload missing
  1333. (test 8).
  1334. PVLV adjusted, but no testcase yet.
  1335. IO adjusted. Fixes test 4.
  1336. re-enabled Perl 5.6, all tests but 8,15 pass with t/testc.sh. make test not.
  1337. added option -DO, more OP info than with -Do.
  1338. added saving "main::" CVs. Fixes test 16.
  1339. Fixed PMOP op_pmreplroot for >= 5.10 (for SUBST). No test
  1340. * t/TESTS, t/testc.sh: added 20 for qr// bug in 5.10
  1341. * t/c.t: remove TODO status from tests 14-16
  1342. 1.04_23 2009-11-22 rurban
  1343. * yapc_bratislava08.pod: title fix
  1344. * SIGNATURE: added
  1345. * C.pm: GvGP handling improved. added more sect comments.
  1346. added -u option "unused" not to print verbose debugging info
  1347. for unused subs.
  1348. Fixed CV XPVCVIX initialisation - off-by-one error, wrong CvFLAGS.
  1349. Fixes test 6.
  1350. * run perltidy -i=2
  1351. 1.04_22 2009-11-16 rurban
  1352. * C.pm, CC.pm: fixed illegal pad in ASSERT_CURPAD_ACTIVE("pad_sv")
  1353. with DEBUGGING. Simply forgot to set PL_comppad
  1354. 1.04_21 2009-11-07 rurban
  1355. * yapc_bratislava08.pod: added
  1356. * C.pm: fixed CALLREGCOMP >=5.10 by using dynamic newSVpvn as in ByteLoader
  1357. 1.04_20 2008-06-25 rurban
  1358. * t/TESTS: numbered.
  1359. * t/TESTS: added sub FETCHSIZE to test 16. required now
  1360. * C.pm, CC.pm: change debug globals to hash.
  1361. * C.pm: Fix B::RV::save for 5.10
  1362. * CC.pm: 5.10 fixed GvSV to GvSVn (PERL_DONT_CREATE_GVSV), fix cc test 3+4 crash
  1363. * Artistic, Copying: added. Clarified perl license.
  1364. * Bytecode.pm: fixed IO=>PVNV problem in test 15.
  1365. * bytecode.pl, bytecode.h: rewrote gp_sv and gp_file setters
  1366. with x (special setters). Fixes unshare hek assert in test 15, and force
  1367. creation of GVSV.
  1368. * Assembler.pm 0.07_05: cygwin text-mount fixes with \r\n
  1369. * t/testplc.sh, t/testc.sh: require bash, accept testnumber args
  1370. * Asmdata.pm: fix PORTABILITY docs
  1371. * t/testc.sh: -Bdynamic: link to shared libperl
  1372. * cc_harness: simplify. fixed for -Bdynamic -E
  1373. 1.04_19 2008-06-08 rurban
  1374. * CC.pm: CXt_LOOP check rewrite, use now CxTYPE_no_LOOP()
  1375. * CC.pm, t/*.t: useithreads, not usethreads
  1376. * bytecode.t, test.pl: TODO handling: do not print "ok 1 #"
  1377. * b.t: fixed skip logic, better skip message
  1378. * Bblock: fixed to work without B::Concise (5.6.2)
  1379. * C.xs: add PM_GETRE for 5.6.2 and earlier
  1380. * CC.pm: Fix PP_EVAL hack from 1.04_18
  1381. * Bytecode: fixed IO::SUBPROCESS error (test 15)
  1382. * cc_harness: check static libperl.a, else try dynamic. Support -E
  1383. * ByteLoader: support different byteorders (Disassembler not yet)
  1384. * ByteLoader, Assembler, bytecode.pl: add archflags to header, relax
  1385. platform strictness.
  1386. * t/stash.t fixed for 5.10
  1387. * Disassembler: added hashref return for get_header in scalar context.
  1388. * Bytecode: fixed compiler crash/assertions for GV without GP (test 11)
  1389. 1.04_18 2008-06-04 rurban
  1390. * Fixed t/assembler.t on 5.6.2
  1391. * Added ByteLoader::unimport (from 5.6.2)
  1392. * ByteLoader: Fixed bytecode crashes for 5.10+5.11 in 2-5,7 by
  1393. removing PMf_COMPILETIME from op_pmflags. Reason: empty
  1394. check_substr in INTUIT. (6 still failing)
  1395. * ByteLoader: Fixes for 5.11 by using PM_SETRE (test 7 still failing)
  1396. * Bytecode: removed op_reflags. pregcomp with op_pmflags alone
  1397. is enough to reconstruct it.
  1398. * C,CC: enabled static_ext + DynaLoader boot section again. Fixed in
  1399. cygperl.
  1400. * CC: fixed Bug#55302 PP_EVAL by adding PP_EVAL_thr for threaded perl.
  1401. cc_runtime.h was always wrong on this!
  1402. 1.04_17 2008-04-20 rurban
  1403. Added Fedora Core 1 as test system (5.6.2, 5.8.3, 5.11.0@33708 + valgrind)
  1404. * ByteLoader: Fixed broken BYTEORDER check (for 32int)
  1405. * ByteLoader: Remove allowing older versions until we have
  1406. an opcode table for older versions.
  1407. * ByteLoader: Fixed SIGSEGV with older gcc (3.3.2) at
  1408. bstate->bs_obj_list[0] = NULL
  1409. * ByteLoader, C.xs: Newx() support and more for older perl's.
  1410. Tested with 5.8.3
  1411. * bytecode.pl: Fixed <11 op_reflags (double definition)
  1412. * bytecode.pl: Support 8-10 version syntax (op_pmstash, cop_io)
  1413. * Makefile.PL: added MKPATH blib/bin
  1414. * added ByteLoader/ppport.h
  1415. * fixed t/stash.t for 5.11
  1416. 1.04_16 2008-04-14 rurban
  1417. * ByteLoader: Fix PL_tokenbuf for older perls without PL_parser
  1418. * B::C: walkoptree_slow for verbose statistics op_count.
  1419. * Consistent in -v verbose and not verbose.
  1420. * Workaround for invalid pad in save_context.
  1421. * Added -Dp for verbose package cache printing.
  1422. * -v verbose adds more generated comments: op struct fields
  1423. * Fixed cop_label for 5.11 (Change #33656)
  1424. * Fixed make subdirs-test error in 5.8.8
  1425. * Fixed RT#52920 "invalid cop_free of nullified cop" for B::C
  1426. 1.04_15 2008-04-11 rurban
  1427. Highlights: bytecode and ByteLoader portability preparation and
  1428. commented disassembler output. PVGV and new REGEX still broken.
  1429. Fixes for no ithreads.
  1430. * Fixed verbose Bytecode for old B::Concise (5.8.8). t/testplc.sh
  1431. failed before.
  1432. * ByteLoader: Work on portability (different arch, version and sizes).
  1433. Added bl_header.
  1434. Changed macro BYTECODE_HEADER_CHECK to function bytecode_header_check().
  1435. Fixes for no threads.
  1436. * bytecode.h: pregcomp fix for 5.10 w/o threads
  1437. (Thanks to david@cantrell.org.uk for his cpantest for netbsd).
  1438. use xpv_cur and not xpv_len for the rx length (len - 1) to strip off
  1439. the ending nul byte.
  1440. 5.10: new minlen check aborts
  1441. * ByteLoader security: added strconst maxsize flag to bytecode.pl
  1442. for buffer overflow checks.
  1443. * Bytecode -DA for devel assertions of absolute or probably wrong opindex
  1444. pointers (nyi)
  1445. * disassemble, B::Assembler: commented output, similar to -MO=Bytecode,-S
  1446. Added backwards option --bare for older assemblers.
  1447. * assemble, disassemble: added pod
  1448. * B::Disassembler:
  1449. Provide default printers print_insn (commented) and print_insn_bare.
  1450. Portability: Use the header settings from the .plc and not the current
  1451. perl settings.
  1452. * B::Assembler 0.07_03, B::Disassembler 1.05_02, ByteLoader 0.06_03:
  1453. Added longsize to the bytecode header, just for xcv_depth.
  1454. * B::Debug 1.05_03: Fixes for no threads.
  1455. * Makefile.PL: Fixed script/perlcc.PL dependency
  1456. make: *** No rule to make target `script/perlcc', needed by
  1457. `blib/bin/perlcc'.
  1458. (Thanks to david@cantrell.org.uk for his cpantest for solaris)
  1459. * Added test TODO's, Added perloptreeguts.pod
  1460. 1.04_14 2008-03-24 rurban
  1461. * Fixed some 1.04_13 +x executable permissions in docs. Windows habits.
  1462. 1.04_13 2008-03-24 rurban
  1463. * Fixed B::C pv init in 5.10. Forgot refcnt and flags.
  1464. * Added "Other perl to exe compilers" section to perlcompile.pod.
  1465. This is even a FAQ.
  1466. * Added the NOTES to perlcompile.pod
  1467. * Added temp. perloptreeguts.pod. In work, also at the wiki.
  1468. * Fixed Bytecode op_pmflags assertions.
  1469. * Added orangesect for enough regexp space in RE's sv_any.
  1470. Engine not initialized though.
  1471. * Hangs in C/CC executables at an op_free(PL_main_root) trying to free
  1472. the static op structs because the earlier op_seq -1 hack is gone now,
  1473. and opt_static was replaced by opt_latefree. Set now opt_latefree = 1.
  1474. This fixed tests 1 and 13. Slowly making progress step by step.
  1475. 1.04_12 2008-03-16 rurban (first upload)
  1476. * Fixed bug #40435 CC: Can't locate object method "_save_common_middle"
  1477. via package "B::FAKEOP"
  1478. * move tests from [bc]*.t into shared TESTS file.
  1479. * fixed remaining ugly Bytecode bug in B::AV::bsave
  1480. $_ = $_->ix for @array.
  1481. Now we are at the same state as with 5.9.4
  1482. * fixed wrong bc cop_warning cast for 5.8
  1483. * fixed CC pmreplroot and pmreplstart fields
  1484. * make C and CC less verbose, honor -v, -q ignored.
  1485. 1.04_11 2008-03-09 rurban
  1486. * removed Jit and Asm stuff. Maybe as seperate packages somewhen.
  1487. But targeting PIR makes more sense.
  1488. * added STATUS
  1489. * added old Changes from the new git clone repo by Sam Vilain
  1490. * fix C cop
  1491. * fix C savepvn apparently
  1492. * work on HV init - crashes at invalid entry
  1493. * use run_cc_test
  1494. 1.04_10 2008-02-26 rurban
  1495. * change bc pvx access
  1496. dummy struct bytestate_xpv, so pv has the same fields as with 5.8,
  1497. seperated from the sv. The sv is seperated from the pv.
  1498. TODO: different strategy for B::C, must link xpv to sv
  1499. * add and parse Assembler comments
  1500. * add Bytecode comments to -S output unless -q
  1501. * change op_reflags from U16 to U32
  1502. * guarantee ByteLoader backwards compatibility: Accept lower versions also.
  1503. 1.04_09 2008-02-25 rurban
  1504. * restored 5.8 backwards compatibility, mainly for test comparison.
  1505. CPAN installation will abort.
  1506. * make t/test*.sh PERL independent
  1507. * fixed B::C GV init crashes (SvPOK assertion)
  1508. * added B::C RE section
  1509. * fixed B::C xpvcv and xpvnv section
  1510. * comment Bytecode -S nice ops to re-assemble them without errors
  1511. * added new asm opcode op_reflags
  1512. * removed Bytecode cop_arybase for 5.10
  1513. * 5.8 compatibility: fixed bytecode.pl versioning, Asmdata creation
  1514. (exact same for 5.8.8), asmdata.t, b.t tests
  1515. * improved make clean
  1516. * add ByteLoader -Dt and -Dv debugging
  1517. * don't link against jit code against possible sideeffects
  1518. * fixed c.t and cc.t tests
  1519. 1.04_08 2008-02-22 rurban
  1520. * fixed t/b.t tests for 5.11 (REGEXP, ref RV => IV)
  1521. * fixed Makefile.PL deps to ignore the interim .pl files
  1522. * added PMOP reflags
  1523. * added madprop to B-1.18_01 and B::C (if provided by B)
  1524. * enhanced B::Debug 1.05_02
  1525. * fixed B::C PL_cshlen (already initialized since 5.10)
  1526. * fixed B::C GvFILE
  1527. * fixed various (SV)xpv list casts and inits,
  1528. * fixed B::C xpvnv_list for 5.10
  1529. * fixed B::C xpvio_list for 5.10
  1530. * fixed B::C pmopsect for 5.11
  1531. * bootstrap also all $Config{static_ext}, not only dynamic stashes
  1532. 1.04_07 2008-02-20 rurban
  1533. * moved bstate->bs_pv.xpv_pv slot to bs_pv.xiv_u.xivu_p1
  1534. * fixed pv_free
  1535. * added op_pmflags 2 to match PMOP
  1536. * moved B into lib/B
  1537. * fixed ByteLoader Makefile deps
  1538. * added -DM flag to Bytecode backend
  1539. * added perlcompile.pod and Perl_5_Internals.htm
  1540. 1.04_06 2008-02-19 rurban
  1541. * no crashes anymore for 5.10, just op_pmflags & PMf_ONCE assertions.
  1542. * blead@32980 crashes in tests 11,16,17,18
  1543. * enhanced B::Debug (no version bump)
  1544. * fixed general op_list inits, and specials for av, hv
  1545. * almost fixed pv within sv handling
  1546. * added -O=C,-DS for SV debugging
  1547. 1.04_05 2008-02-18 rurban
  1548. * added t/test.pl and t/test*.sh to MANIFEST.
  1549. * fixed ByteLoader reading from the <DATA> filter.
  1550. * fixed -H .plc header parsing
  1551. * updated Bytecode options in NOTES and pod
  1552. * added -O=Bytecode,-v option
  1553. * fixed PL_preprocess and SvREPADTMP_off for 5.11
  1554. 1.04_04 2008-02-08 rurban
  1555. * added jitcompiler macros
  1556. 1.04_03 2008-02-05 rurban
  1557. * added Jit and Asm layout, fixed Makefile deps
  1558. 1.04_02 2008-01-22 rurban (never uploaded)
  1559. * removed from CORE, now on CPAN.
  1560. * added byteorder to bytecode header.
  1561. * added support for 5.10 (NOT WORKING!), 5.9.5 not tested.
  1562. up to 5.8.x already in CORE, so disabled.
  1563. add back support later, when C/CC is improved or more features
  1564. are added.
  1565. * added type hekindex
  1566. * added c.t and cc.t tests
  1567. * extended bytecode.pl format: added version logic
  1568. to have strictly consecutive indices
  1569. 1.04_01 2008-01-15 rurban (never uploaded)
  1570. * first package layout for all now non-CORE packages.
  1571. ===================================================================
  1572. B::C was at 1.05 when removed from core with 5.9.4.
  1573. Nicholas Clark <nwc10+p5p4@colon.colondot.net> 2007-05-07 15:35:56
  1574. bytecode.pl: Exterminate!
  1575. ext/B/B/Asmdata.pm: Exterminate!
  1576. Nicholas Clark <nwc10+p5p4@colon.colondot.net> 2007-05-07 14:53:05
  1577. Given that @optype and @specialsv_name are hard coded tables, it seems
  1578. more logical for them to be in B.pm, rather than in the "boilerplate"
  1579. for the machine generated B/Asmdata.pm
  1580. Marcus Holland-Moritz <mhx-perl@gmx.net> 2004-08-29 13:22:48
  1581. Fix typo in B::Assembler.
  1582. Marcus Holland-Moritz <mhx-perl@gmx.net> 2004-08-29 13:21:50
  1583. Skip ext/B/t/assembler.t when configured without B.
  1584. Rafael Garcia-Suarez <rgarciasuarez@gmail.com> 2003-08-09 21:13:27
  1585. Remove ByteLoader from the list of modules whose compilability should
  1586. be tested : it's loaded (at runtime) by ext/B/t/bytecode.t (as Enache
  1587. pointed out.)
  1588. chromatic <chromatic@rmci.net> 2002-05-10 07:43:25
  1589. added ext/B/t/o.t
  1590. Mattia Barbon <mbarbon@dsi.unive.it> 2002-01-12 00:29:48
  1591. @14216 B::C, perlcc.PL, B.xs, B.pm, t/TEST, C.xs
  1592. Message-ID: <3C3F756C.4581.2E2A938@localhost>
  1593. B::C (1.01): added B::C::InitSection, ...
  1594. Mattia Barbon <mbarbon@dsi.unive.it> 2002-01-06 12:44:30
  1595. @14104 B, B::C, perlcc, t/TEST
  1596. Message-ID: <3C38389E.7831.493570@localhost>
  1597. Jarkko Hietaniemi <jhi@iki.fi> 2001-12-21 14:42:31
  1598. @13830 packing I32 with L is not nice, need l; from Wolfgang Laun.
  1599. Jarkko Hietaniemi <jhi@iki.fi> 2001-12-19 16:59:02
  1600. @13807 One more embedded (?sx) de-embedded, from Wolfgang Laun.
  1601. Jarkko Hietaniemi <jhi@iki.fi> 2001-12-19 15:25:27
  1602. @13802 B::Assembler/B::Disassembler patches and test;
  1603. from Wolfgang Laun.
  1604. TODO: getting perlcc working.
  1605. Michael G. Schwern <schwern@pobox.com> 2001-12-14 20:59:13
  1606. @13697 BBlock: Some weak docs
  1607. Message-ID: <20011215005913.GC28596@blackrider>
  1608. Michael G. Schwern <schwern@pobox.com> 2001-12-14 20:14:14
  1609. @13695 Adding B::Asmdata docs
  1610. Message-ID: <20011215001414.GA25077@blackrider>
  1611. Jarkko Hietaniemi <jhi@iki.fi> 2001-11-29 02:22:02
  1612. @13346 Change $=, $., $*, $%, and $- to be IVs instead of longs.
  1613. Jarkko Hietaniemi <jhi@iki.fi> 2001-11-16 01:38:41
  1614. @13034 Add the fruits of Larry Shatzer's version verifying script.
  1615. (There are some straddlers, but they will be fixed in the
  1616. upcoming releases of the modules.)
  1617. (Stamped with v1.00)
  1618. Jarkko Hietaniemi <jhi@iki.fi> 2001-09-16 22:36:58
  1619. @12040 Stamp B::Assembler with v0.03
  1620. Jarkko Hietaniemi <jhi@iki.fi> 2001-07-01 17:20:38
  1621. @11061 Make 'compile' target a little less broken.
  1622. Still very broken, though: -Wall warnings from
  1623. the generated code, boot_Foo prototypes missing,
  1624. can't autoload Fcntl::SEEK_CUR et alia, ...
  1625. Jarkko Hietaniemi <jhi@iki.fi> 2001-06-27 13:36:40
  1626. @10979 "lose the looses", from Abhijit Menon-Sen
  1627. Richard Soderberg <p5-authors@crystalflame.net> 2001-06-21 09:01:22
  1628. @10780 Step 2: Use the new PM_GETRE/SETRE macros everywhere.
  1629. Message-ID: <Pine.LNX.4.21.0106210657400.1693-100000@oregonnet.com>
  1630. Gurusamy Sarathy <gsar@cpan.org> 2001-03-19 08:07:09
  1631. Subject: Re: sync sync sync: have I missed any patches?
  1632. Replace djSP with dSP.
  1633. Mark-Jason Dominus <mjd@plover.com> 2001-01-16 14:43:18
  1634. Subject: [PATCH @8436] Eliminate op_children
  1635. (Replaced by #8448) Traces of op_children (cleanup of #8442)
  1636. (Replaced by #8448) More op_children traces (cleanup of #8442).
  1637. Subject: [PATCH #3 @8436] Re: Eliminate op_children
  1638. Replace #8444 and #8445.
  1639. Gurusamy Sarathy <gsar@cpan.org> 2001-01-30 14:20:24
  1640. integrate changes#7984,7987,8010 from mainline (gets rid of
  1641. dTHR which has been a noop for a while now, except for the
  1642. compatibility definition in thread.h)
  1643. @8010 remove dTHR;
  1644. Gurusamy Sarathy <gsar@cpan.org> 2000-12-18 03:37:02
  1645. @7518 UNIVERSAL::can
  1646. Gurusamy Sarathy <gsar@cpan.org> 2000-12-18 00:03:38
  1647. Fix a couple of compiler-noted nits in #7235.
  1648. Fix of sorts for bug id 20000901.092. There seems to be no trace
  1649. of a 'pmshort' anywhere in the B, so the offending line was simply
  1650. removed.
  1651. Gurusamy Sarathy <gsar@cpan.org> 2000-12-17 22:49:13
  1652. Subject: [ID 20000928.002] perlcc & ByteCode.pm option mismatch
  1653. Did not apply cleanly, manual intervention was needed.
  1654. Subject: [ID 20001003.006] B::Debug not -w clean
  1655. Test harness update to sync with the new perlcc,
  1656. from Simon Cozens.
  1657. Gurusamy Sarathy <gsar@cpan.org> 2000-11-27 18:11:21
  1658. Bytecompiler patches from Benjamin Stuhl.
  1659. More bytecompiler.
  1660. Subject: [PATCH blead] B:: missing dependency
  1661. Byteloader 0.04
  1662. Gurusamy Sarathy <gsar@cpan.org> 2000-11-27 13:53:18
  1663. U8->U16 CvFLAGS(cv)
  1664. Jarkko Hietaniemi <jhi@iki.fi> 2001-10-25 18:07:58
  1665. * make re, Opcode, File::Glob and B threadsafe
  1666. * include XS_VERSION in MY_CXT_KEY (tweak for change#12652)
  1667. Jarkko Hietaniemi <jhi@iki.fi> 2001-04-05 04:00:33
  1668. Integrate changes #9544,9547,9549(perlio),9550,9551 from
  1669. maintperl into mainline.
  1670. "double" should be "NV"; standard typemap is missing entry
  1671. for NV
  1672. bailey <bailey@bailey_vms> 2000-02-09 09:09:45
  1673. Resync with mainline
  1674. Gurusamy Sarathy <gsar@cpan.org> 2000-02-25 02:50:04
  1675. @5250 more Compiler tweaks for useithreads
  1676. Gurusamy Sarathy <gsar@cpan.org> 2000-02-21 08:02:16
  1677. @5178 get Compiler "working" under useithreads
  1678. Gurusamy Sarathy <gsar@cpan.org> 2000-02-19 18:33:05
  1679. @5150 more B fixups to cope with empty GVs (these can only happen in pads)
  1680. Gurusamy Sarathy <gsar@cpan.org> 2000-02-18 04:57:43
  1681. @5125 Compiler fixups from Jan Dubois
  1682. Gurusamy Sarathy <gsar@cpan.org> 2000-01-27 04:56:48
  1683. @4910 various pod nits identified by installhtml (all fixed except
  1684. unresolved links)
  1685. Gurusamy Sarathy <gsar@cpan.org> 2000-01-26 20:10:26
  1686. @4905 s/STOP/CHECK/ blocks
  1687. bailey <bailey@bailey_vms> 2000-01-20 00:25:30
  1688. @4821 Quick integration of mainline changes to date
  1689. Gurusamy Sarathy <gsar@cpan.org> 2000-01-06 11:51:07
  1690. @4763 fix various C-backend shenanigans
  1691. Gurusamy Sarathy <gsar@cpan.org> 1999-12-08 00:16:21
  1692. @4662 typos in change#4546
  1693. Gurusamy Sarathy <gsar@cpan.org> 1999-12-03 07:52:50
  1694. @4631 support -a switch to append bytecode to an existing file and make
  1695. perlcc use it (from Tom Hughes <tom@compton.nu>)
  1696. Gurusamy Sarathy <gsar@cpan.org> 1999-12-01 02:00:09
  1697. @4602 more complete pseudo-fork() support for Windows
  1698. Gurusamy Sarathy <gsar@cpan.org> 1999-11-11 11:32:54
  1699. @4546 avoid stash pointers in optree under USE_ITHREADS
  1700. Gurusamy Sarathy <gsar@cpan.org> 1999-11-11 07:04:20
  1701. @4545 another change towards a shareable optree: avoid pointer to filegv
  1702. in COP; revert parts of change#4485 and s/xcv_filegv/xcv_file/
  1703. (CvFILE() may yet come in handy somewhere); adjust compiler doodads
  1704. to suit
  1705. Gurusamy Sarathy <gsar@cpan.org> 1999-11-04 19:25:45
  1706. @4516 change#4485 didn't do the right thing for B::Bytecode
  1707. Gurusamy Sarathy <gsar@cpan.org> 1999-11-04 18:28:29
  1708. @4515 implement STOP blocks and fix compiler to use them (minimally
  1709. tested)
  1710. Gurusamy Sarathy <gsar@cpan.org> 1999-10-29 08:08:50
  1711. @4485 more cleanup: avoid unused knowledge of "file GV" notion in CV and GV
  1712. Gurusamy Sarathy <gsar@cpan.org> 1999-10-29 05:00:21
  1713. @4484 usurp GVOP slot for new PADOP (one small step to making optree
  1714. shareable across interpreters)
  1715. Vishal Bhatia <vishal@deja.com> 1999-09-30 01:27:28
  1716. @4254 [patch _61] Minor corrections in C.pm
  1717. Message-ID: <Pine.LNX.4.10.9909292326280.5599-100000@localhost.localdomain>
  1718. Charles Bailey <bailey@newman.upenn.edu> 1999-09-29 04:21:31
  1719. @4249 resync with mainline 5.05_61
  1720. ($handle_VC_problem, @4198: $sv->REFCNT - 1)
  1721. Vishal Bhatia <vishal@deja.com> 1999-08-25 02:31:33
  1722. @4198 add arenas for managing allocations of remaining xpv*v structures
  1723. Message-ID: <Pine.LNX.4.10.9908250031000.11727-100000@localhost.localdomain>
  1724. Subject: [PATCH 5.005_60] removing extra ref count (compiler)
  1725. Doug MacEachern <dougm@covalent.net> 1999-07-25 17:49:00
  1726. @4129 B::clearsym
  1727. Vishal Bhatia <vishal@deja.com> 1999-08-11 03:43:28
  1728. @4095 applied suggested patch with suitable test to detect MSVC
  1729. Message-ID: <GFCJELIOGEENAAAA@my-deja.com>
  1730. Subject: compiler on win32
  1731. Gurusamy Sarathy <gsar@cpan.org> 1999-09-06 22:16:58
  1732. @4092 support bytecode and C backends in perlcc (patch suggested
  1733. by Tom Hughes <tom@compton.au>); s/-opt/-noopt/ and make the
  1734. C backend the default; describe new switches in pod; introduce
  1735. PERLCC_OPTS and s/COMPILE_TIMEOUT/PERLCC_TIMEOUT/;
  1736. s/COMPILE_TEST/HARNESS_COMPILE_TEST/; document these %ENV
  1737. entries
  1738. Nick Ing-Simmons <nik@tiuk.ti.com> 1999-08-08 15:53:57
  1739. @3925 Will now correctly re-call
  1740. bootstrap "Foo";
  1741. if requested. This should allow build on Win32 and other
  1742. platforms where you cannot link to loadables directly.
  1743. Nick Ing-Simmons <nik@tiuk.ti.com> 1999-08-07 14:23:55
  1744. @3934 Vishal Bhatia <vishalb@my-deja.com>
  1745. [PATCH 5.005_60] fix for some obscure bugs (compiler)
  1746. Message-ID: <HLPEBPHPAKHKAAAA@my-deja.com>
  1747. Nick Ing-Simmons <nik@tiuk.ti.com> 1999-08-07 14:19:46
  1748. @3933 B::C changes to get simple Tk app. compiling again
  1749. Nathan Torkington <gnat@frii.com> 1999-08-05 23:25:47
  1750. @3927 Fix for Nathan's fix (#3920) from Guy Decoux.
  1751. Subject: Bugfix for my bugfix
  1752. Message-ID: <14250.21947.765134.940583@localhost.frii.com>
  1753. Nathan Torkington <gnat@frii.com> 1999-08-04 13:24:56
  1754. @3920 [5.005_60 PATCH] Make B::Bytecode work
  1755. Vishal Bhatia <vishal@deja.com> 1999-07-31 21:08:33
  1756. @3869 "use constant" in the compiler
  1757. Nathan Torkington <gnat@frii.com> 1999-08-01 11:23:35
  1758. @3859 ext/B/B/Disassembler.pm patch
  1759. Message-ID: <14244.33431.739419.806927@localhost.frii.com>
  1760. Gurusamy Sarathy <gsar@cpan.org> 1999-08-01 20:34:41
  1761. @3848 fix defined(@foo) encarpments
  1762. Gurusamy Sarathy <gsar@cpan.org> 1999-07-27 05:56:17
  1763. @3784 change#3762 wasn't needed
  1764. Gurusamy Sarathy <gsar@cpan.org> 1999-07-26 10:59:47
  1765. @3762 setstate stop-gap from Vishal Bhatia
  1766. Gurusamy Sarathy <gsar@cpan.org> 1999-07-26 10:06:39
  1767. @3761 patch for pp_foo -> Perl_pp_foo changes from Vishal Bhatia
  1768. Gurusamy Sarathy <gsar@cpan.org> 1999-07-17 22:43:27
  1769. @3687 make CC.pm use a distinct CCPP() macro rather than PP()
  1770. (suggested by Vishal Bhatia <vishalb@my-deja.com>)
  1771. Vishal Bhatia <vishal@deja.com> 1999-06-30 16:02:42
  1772. @3644 Compiler and XSUBS
  1773. Stephen McCamant <smcc@mit.edu> 1999-06-25 15:38:44
  1774. @3637 Eliminate CONDOPs
  1775. Vishal Bhatia <vishal@deja.com> 1999-06-20 19:17:17
  1776. @3630 Minor bug fix in pp_require
  1777. Vishal Bhatia <vishal@deja.com> 1999-06-12 10:23:59
  1778. @3622 applied patch after demunging headers with appropriate paths
  1779. Message-ID: <JIHEJPFDFKIBDAAA@my-deja.com>
  1780. Subject: [Patch 5.005_57] unsigned arithmetic (Compiler)
  1781. Vishal Bhatia <vishal@deja.com> 1999-06-05 10:42:17
  1782. @3593 applied parts not duplicated by previous patches
  1783. Message-ID: <JAMCAJKJEJDPAAAA@my-deja.com>
  1784. Subject: Fwd: [PATCH 5.005_57] consolidated compiler changes
  1785. Vishal Bhatia <vishal@deja.com> 1999-06-03 02:57:48
  1786. @3584 [PATCH 5.005_57] pp_sort sorted out
  1787. Gurusamy Sarathy <gsar@cpan.org> 1999-06-10 10:38:00
  1788. @3526 fix small nits (ARGS => aTHX)
  1789. Gurusamy Sarathy <gsar@cpan.org> 1999-06-02 06:47:10
  1790. @3518 remove _() non-ansism
  1791. Tom Hughes <tom@compton.nu> 1999-05-27 01:59:49
  1792. @3499 ByteLoader mark 2
  1793. To: perl5-porters@perl.org
  1794. Message-ID: <bf337a0849.tom@compton.compton.nu>
  1795. plus resolve tiny conflict with #3479
  1796. plus regen_headers.
  1797. Gurusamy Sarathy <gsar@cpan.org> 1999-05-11 11:34:13
  1798. @3367 various fixes for clean build and test on win32; configpm broken,
  1799. needed to open myconfig.SH rather than myconfig; sundry adjustments
  1800. to bytecode stuff; tweaks to DYNAMIC_ENV_FETCH code to make it
  1801. work under win32; getenv_sv() changed to getenv_len() since SVs
  1802. aren't visible in the lower echelons; remove bogus exports from
  1803. config.sym; PERL_OBJECT-ness for C++ exception support; null out
  1804. IoDIRP in filter_del() or sv_free() will attempt to close it
  1805. Gurusamy Sarathy <gsar@cpan.org> 1999-05-10 09:49:26
  1806. @3359 more Compiler patches from Vishal Bhatia <vishalb@my-dejanews.com>
  1807. Date: Tue, 27 Apr 1999 23:47:24 PDT
  1808. Message-ID: <19990428064724.95244.qmail@hotmail.com>
  1809. Subject: [PATCH 5.005_56] Saving Tied hashes ( C.pm)
  1810. --
  1811. Date: Thu, 29 Apr 1999 18:21:06 -0700
  1812. Message-ID: <GEFPBFDJADFJBAAA@my-dejanews.com>
  1813. Subject: [PATCH 5.005_56] double constants ( C.pm)
  1814. --
  1815. Date: Mon, 03 May 1999 20:21:31 PDT
  1816. Message-ID: <19990504032131.81113.qmail@hotmail.com>
  1817. Subject: [PATCH 5.005_56] Overloading implementation ( Compiler)
  1818. --
  1819. Date: Thu, 06 May 1999 17:57:09 -0700
  1820. Message-ID: <FCJELBLAJBOBAAAA@my-dejanews.com>
  1821. Subject: Stash.pm
  1822. Tom Hughes <tom@compton.nu> 1999-04-24 20:11:59
  1823. @3356 applied suggested patch, with win32 and PERL_OBJECT additions
  1824. Message-ID: <609bdff748.tom@compton.compton.nu>
  1825. Subject: ByteLoader patch
  1826. Gurusamy Sarathy <gsar@cpan.org> 1999-05-06 10:01:23
  1827. @3314 compiler fixes from Vishal Bhatia <vishalb@hotmail.com>
  1828. Date: Tue, 30 Mar 1999 23:40:34 PST
  1829. Message-ID: <19990331074034.6117.qmail@hotmail.com>
  1830. Subject: [PATCH 5.005_56] pp_entersub and pp_leavewrite(CC.pm)
  1831. --
  1832. Date: Wed, 07 Apr 1999 00:28:23 -0800
  1833. Message-ID: <FGBNLNPOEELFAAAA@my-dejanews.com>
  1834. Subject: [PATCH 5.005_56] function prototypes(B.pm)
  1835. --
  1836. Date: Thu, 22 Apr 1999 23:40:52 -0700
  1837. Message-ID: <OEAOMKBMLDADCAAA@my-dejanews.com>
  1838. Subject: [PATCH 5.005_56 ] discarding worthless padsvs
  1839. --
  1840. Date: Tue, 27 Apr 1999 01:14:49 PDT
  1841. Message-ID: <19990427081449.28615.qmail@hotmail.com>
  1842. Subject: [PATCH 5.005_56] pp_ncmp implementation ( CC.pm)
  1843. Vishal Bhatia <vishal@deja.com> 1999-03-23 17:21:43
  1844. @3168 applied needful parts of suggested patch
  1845. Message-ID: <OOOKJGFMLFLHBAAA@my-dejanews.com>
  1846. Subject: [PATCH 5.005_56] pp_formline correction
  1847. Gurusamy Sarathy <gsar@cpan.org> 1999-03-25 07:21:05
  1848. @3165 fix refcnt on PL_main_cv (variant of suggestion by Vishal Bhatia
  1849. <vishalb@hotmail.com>)
  1850. Vishal Bhatia <vishal@deja.com> 1999-03-11 08:40:27
  1851. @3142 applied suggested patch, modulo bogus hunk
  1852. Message-ID: <19990311154027.25891.qmail@hotmail.com>
  1853. Subject: [PATCH 5.005_56] Minor fixes in perlcc
  1854. Vishal Bhatia <vishal@deja.com> 1999-03-03 00:27:25
  1855. @3066 updates to compiler modules
  1856. Message-ID: <19990303072725.779.qmail@hotmail.com>
  1857. Subject: PATCH 5.005_56 + Test procedure
  1858. Vishal Bhatia <vishal@deja.com> 1999-02-08 02:14:41
  1859. @2940 enable dynaloading in C.pm-compiled programs (non-conflicting part
  1860. of suggested patch)
  1861. Message-ID: <DHIDFFOPMEFDBAAA@my-dejanews.com>
  1862. Subject: [PATCH 5.005_54] some pending C.pm stuff
  1863. Gurusamy Sarathy <gsar@cpan.org> 1999-02-12 12:09:27
  1864. @2894 add missing hunk in change#2657 from Vishal Bhatia <vishal@deja.com>
  1865. Vishal Bhatia <vishal@deja.com> 1999-01-18 02:32:31
  1866. @2657 pp_mapstart & pp_grepstart return val (CC.pm)
  1867. To: perl5-porters@perl.org
  1868. Message-ID: <19990118093231.18443.qmail@hotmail.com>
  1869. Vishal Bhatia <vishal@deja.com> 1999-01-17 17:41:10
  1870. @2639 Duplicate saved ops (CC.pm)
  1871. Message-Id: <19990118004111.29667.qmail@hotmail.com>
  1872. Gurusamy Sarathy <gsar@cpan.org> 1999-01-17 10:12:42
  1873. @2621 fix change#2602 to not used hard coded constants
  1874. Vishal Bhatia <vishal@deja.com> 1999-01-11 09:02:41
  1875. @2602 B::MAGIC::PTR doesnot check for valid length.
  1876. Lines: 134
  1877. Message-ID: <MLIST_19990111052126.27966.qmail@hotmail.com>
  1878. Vishal Bhatia <vishal@deja.com> 1999-01-08 13:43:36
  1879. @2600 B::CC::pp_rv2cv problem
  1880. To: perl5-porters@perl.org
  1881. Message-ID: <MLIST_19990108101557.4481.qmail@hotmail.com>
  1882. Vishal Bhatia <vishal@deja.com> 1998-12-16 04:17:03
  1883. @2525 More minor Fixes in CC.pm/C.pm
  1884. To: perl5-porters@perl.org
  1885. Message-ID: <MLIST_199812160055.QAA06272@f10.hotmail.com>
  1886. Vishal Bhatia <vishal@deja.com> 1998-12-10 09:30:02
  1887. @2524 Re:perlcc -e 'my $x = shift; print +($x ?...' failure
  1888. To: perl5-porters@perl.org
  1889. Cc: rmb1@cise.npl.co.uk, nick@ni-s.u-net.com
  1890. Message-ID: <MLIST_19981210061651.29891.qmail@hotmail.com>
  1891. (Nick's part was applied earlier, in change #2460)
  1892. Vishal Bhatia <vishal@deja.com> 1998-12-09 07:50:30
  1893. @2523 return value of perlcc/B::CC generated functions.
  1894. To: nick@ni-s.u-net.com
  1895. Cc: perl5-porters@perl.org
  1896. Message-ID: <MLIST_19981209043146.16829.qmail@hotmail.com>
  1897. Vishal Bhatia <vishal@deja.com> 1998-12-20 20:03:25
  1898. @2492 pp_next/pp_last/pp_redo problems
  1899. To: perl5-porters@perl.org
  1900. Message-ID: <19981221030326.27660.qmail@hotmail.com>
  1901. (slightly reformatted)
  1902. Nick Ing-Simmons <nick@ing-simmons.net> 1999-01-02 14:06:30
  1903. @2551 Export constant subs from B.xs for op.h, cop.h and a few others.
  1904. Use them in various B::* rather than have local defs.
  1905. Nick Ing-Simmons <nick@ing-simmons.net> 1999-01-02 10:04:02
  1906. @2550 Integrate ext/B changes from //depot/cfgperl
  1907. 'copy in' ext/B/B.xs
  1908. (@2460..) 'merge in' ext/B/B/C.pm ext/B/B/CC.pm
  1909. ext/B/B/Stackobj.pm (@2524..)
  1910. Nick Ing-Simmons <nick@ing-simmons.net> 1999-01-02 10:04:02
  1911. @2491 Integrate ext/B changes from //depot/cfgperl
  1912. Gurusamy Sarathy <gsar@cpan.org> 1998-09-23 09:52:46
  1913. B::Asmdata define PUT_svindex(), PUT_opindex()
  1914. Nick Ing-Simmons <nick@ing-simmons.net> 1998-12-20 14:21:29
  1915. @2491 Save _all_ GV's which have SV, AV or HV set.
  1916. Vishal Bhatia <vishal@deja.com> 1998-12-09 23:16:50
  1917. @2461 1. Fixes the bug reported by Robin Barker <rmb1@cise.npl.co.uk>
  1918. 2. Fixes the bug regarding return value of c-functions generated out
  1919. of perl subs. ( Just includes the patch I sent earlier)
  1920. 3. Incorporates the other changes that need to be done to get CC.pm
  1921. use ISA search for packages and methods on the same lines as C.pm
  1922. Vishal would appreciate comments about B::Stackobj changes from
  1923. someone knowing that module well.
  1924. Nick Ing-Simmons <nik@tiuk.ti.com> 1998-12-05 17:14:42
  1925. @2453 Avoid hard-coding op numbers
  1926. Update CC.pm to save %INC, and to co-exist with new C.pm
  1927. Nick Ing-Simmons <nik@tiuk.ti.com> 1998-12-05 11:44:28
  1928. @2452 B.xs had its own code to calculate hash() which differed from
  1929. PERL_HASH in hv.h - so all saved HV's were mangled - including %INC
  1930. which meant that run-time require was re-done.
  1931. Removed some debug from C.pm
  1932. Nick Ing-Simmons <nik@tiuk.ti.com> 1998-12-04 22:58:49
  1933. @2451 Snapshot of re-worked B::C which compiles Tk apps at least as
  1934. well as _54, but with pre-scan for classes and save the ISA scheme.
  1935. Vishal Bhatia <vishal@deja.com> 1998-12-04 18:58:44
  1936. @2450 Vishal Bhatia's patch as a basis.
  1937. Nick Ing-Simmons <nik@tiuk.ti.com> 1998-11-28 23:46:57
  1938. @2378 More C.pm tweaks
  1939. Save globs even if we have saved cv itself before - may be imported.
  1940. While we don't save "bootstrap" CV we need to provide a stub,
  1941. so that if we require it later we don't fall through and attempt
  1942. to DynaLoad module again.
  1943. Attempt to save %INC so that "require" does not reload things
  1944. we have compiled-in (does not work right yet - seems to be due
  1945. to PL_incgv being created in perl_parse() current scheme setting
  1946. GvHV() is "better" than saving the glob, but still does not
  1947. work as I expect).
  1948. Nick Ing-Simmons <nik@tiuk.ti.com> 1998-11-27 22:10:27
  1949. @2332 Handle INIT list in C.pm
  1950. 1. Provide init_av() from B.xs
  1951. 2. Export it in B.pm
  1952. 3. Use it in C.pm
  1953. Also disable some pruning in savecv() which seems to undo
  1954. my previous patch.
  1955. Experimental feature - save pathnames of .so files in easily
  1956. grep-able form for use in wrapper to feed to linker.
  1957. Gurusamy Sarathy <gsar@cpan.org> 1998-11-27 15:41:38
  1958. @2324 B::C tweaks to allow Tk compiles from Nick Ing-Simmons
  1959. Vishal Bhatia <vishal@deja.com> 1998-10-29 00:45:32
  1960. @2146 hand-apply whitespace-mutiliated patch
  1961. Message-ID: <19981029074534.2334.qmail@hotmail.com>
  1962. Subject: [PATCH 5.005_52]Compiling modules,more bugfixes for B
  1963. Vishal Bhatia <vishal@deja.com> 1998-10-22 00:59:03
  1964. @2072 implement C<goto &func> and other fixes (via private mail)
  1965. Message-Id: <19981022055904.20083.qmail@hotmail.com>
  1966. Subject: [PATCH 5.005_52] More fixes for B
  1967. Vishal Bhatia <vishal@deja.com> 1998-10-11 20:41:38
  1968. @1993 fix bug in B::CC::pp_sassign()
  1969. Message-ID: <19981012014139.19614.qmail@hotmail.com>
  1970. Subject: B::CC problems with pp_sassign routine
  1971. Jarkko Hietaniemi <jhi@iki.fi> 1998-10-17 15:17:19
  1972. @2005 Integrate mainperl.
  1973. Gurusamy Sarathy <gsar@cpan.org> 1998-09-23 11:52:46
  1974. @1842 define PUT_svindex(), PUT_opindex()
  1975. Gurusamy Sarathy <gsar@cpan.org> 1998-08-02 07:09:35
  1976. @1708 fixes for pod noises
  1977. Gurusamy Sarathy <gsar@cpan.org> 1998-07-22 02:08:00
  1978. @1618 fix up B modules for PL_* changes
  1979. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-07-21 18:13:16
  1980. @1617 Compiler docs for 5.005
  1981. Message-Id: <199807211713.SAA20735@sable.ox.ac.uk>
  1982. Gurusamy Sarathy <gsar@cpan.org> 1998-07-22 01:29:09
  1983. @1616 s/PL_sv/PL_bytecode_sv/ etc., so we have unique, case-insensitive
  1984. names
  1985. Gurusamy Sarathy <gsar@cpan.org> 1998-07-21 07:12:00
  1986. @1611 fix bytecode.pl with moved var names
  1987. Gurusamy Sarathy <gsar@cpan.org> 1998-07-21 05:31:13
  1988. @1608 part 2 of PERL_OBJECT fixes (globals in bytecode.h moved to intrpvar.h)
  1989. Gurusamy Sarathy <gsar@cpan.org> 1998-07-21 05:29:10
  1990. @1607 part 1 of PERL_OBJECT fixes for new var names
  1991. Gurusamy Sarathy <gsar@cpan.org> 1998-07-20 09:38:39
  1992. @1578 complete s/foo/PL_foo/ changes (all escaped cases identified with
  1993. brute force search script). Result builds and passes all tests on
  1994. Solaris. win32 and PERL_OBJECT are still untested.
  1995. Nick Ing-Simmons <nick@ing-simmons.net> 1998-07-18 13:53:03
  1996. PL_ prefix to all perlvars, part1
  1997. Builds and passes all tests at one limit i.e. -DPERL_GLOBAL_STRUCT
  1998. Ilya Zakharevich <ilya@math.ohio-state.edu> 1998-07-15 06:10:36
  1999. @1548 Minor improvements to perlcc
  2000. Message-Id: <199807151010.GAA11270@monk.mps.ohio-state.edu>
  2001. Gurusamy Sarathy <gsar@cpan.org> 1998-07-15 10:01:41
  2002. @1516 add stub docs for ext/B, other minor tweaks
  2003. Gurusamy Sarathy <gsar@cpan.org> 1998-07-09 05:37:48
  2004. get it building again on win32
  2005. Gurusamy Sarathy <gsar@cpan.org> 1998-07-04 05:02:01
  2006. @1292 fix perlcc to not rm output file, and other -w(arts)
  2007. Stephen McCamant <alias@mcs.com> 1998-06-22 21:19:43
  2008. @1200 Inheritance of B:: classes
  2009. Message-Id: <m0yoIgR-000EP2C@alias-2.pr.mcs.net>
  2010. Gurusamy Sarathy <gsar@cpan.org> 1998-06-19 17:22:23
  2011. update repository copy of Asmdata.pm after `perl bytecode.pl`
  2012. Gurusamy Sarathy <gsar@cpan.org> 1998-06-11 02:59:23
  2013. @1113 fix outdated bytecode.pl
  2014. Nick Ing-Simmons <nick@ing-simmons.net> 1998-05-14 18:09:01
  2015. @972 Changes to allow compiler with gcc-2.8.1 in C++ mode,
  2016. Remove K&R style functions, avoid struct/typedef clash.
  2017. Ed Peschko <epeschko@den-mdev1> 1998-04-29 21:02:36
  2018. @963 [ PATCH 5.004_64 ] Integrated regression tests for compiler
  2019. added perlcc.PL
  2020. Ilya Zakharevich <ilya@math.ohio-state.edu> 1998-04-08 03:21:03
  2021. @942 Subject: [PATCH 5.004_64] Cryptic error from B::CC
  2022. Date: Sat, 11 Apr 1998 19:52:25 -0400 (EDT)
  2023. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-04-14 16:22:51
  2024. @888 [compiler] CC did "<<" instead of ">>" for right-shift on ints.
  2025. Charles Bailey <bailey@newman.upenn.edu> 1998-03-02 01:48:27
  2026. Miscellaneous minor fixes
  2027. Spider Boardman <spider@orb.nashua.nh.us> 1998-03-01 02:02:47
  2028. Almost OK: 5.004_61 (threads, perlio)
  2029. Andrew Cohen <cohen@andy.bu.edu> 1998-02-27 20:03:29
  2030. Change getc/fread to PerlIO_getc/fread in bytecode.h:
  2031. Subject: [PATCH 5.004_61] bunch of small patches
  2032. Nick Ing-Simmons <nick@ing-simmons.net> 1998-02-28 11:31:15
  2033. Missed FREAD in bytecode.h
  2034. Cannot export svref_mutex in non-threaded perl
  2035. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-02-27 18:35:27
  2036. Change FREAD/FGETC to BGET_FREAD/BGET_FGETC to avoid clash with
  2037. preprocessor symbol on Digital UNIX.
  2038. Gurusamy Sarathy <gsar@cpan.org> 1998-02-26 03:56:19
  2039. @589 [win32] various cleanups so that B can be built as "just another extension"
  2040. - export symbols needed for building B
  2041. - bset_obj_store() is needed by byterun(), so define it there instead
  2042. of at B.xs, and export it
  2043. - freadpv() is only used in B.xs, so move it there
  2044. - byte*.h are now included by perl.h
  2045. - regenerate embed*.h
  2046. Gurusamy Sarathy <gsar@cpan.org> 1998-02-22 02:40:56
  2047. @568 [win32] get compiler building under win32 (needed Makefile.PL
  2048. hacks that could be applicable to other platforms)
  2049. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-02-25 17:44:34
  2050. @585 More compiler tweaks.
  2051. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-02-20 18:23:47
  2052. @565 Remove compiler files from their old lib/B locations. The compiler
  2053. now builds by default (without the byteperl executable so far) and
  2054. seems to work at least minimally.
  2055. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-02-20 18:05:33
  2056. @564 Move lib/B/... and lib/[BO].pm over to where they should be,
  2057. under ext/B.
  2058. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-02-20 17:54:58
  2059. @563 Start getting compiler to work when built with the core.
  2060. [Still won't work as of this change.]
  2061. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-02-20 16:42:13
  2062. * Merge perlext/Compiler/... into mainline. Some files move to
  2063. ext/B/..., some to lib/B/..., O.pm and B.pm go in lib and some
  2064. move to the base perl directory (e.g. headers). Will need some
  2065. cleaning up before it builds properly, I would guess.
  2066. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-02-20 16:39:38
  2067. * [compiler] Win32 changes from Sarathy, tweaked slightly by me.
  2068. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1998-02-17 17:50:50
  2069. * Assorted changes to the compiler
  2070. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1997-12-17 10:59:40
  2071. * Fix typo in compiler B/C.pm.
  2072. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1997-12-10 18:33:53
  2073. Alpha5
  2074. * Start overhauling compiler. It was working at least minimally
  2075. right up until the final tweak of B.xs to add threadsv_names
  2076. at which point building it provokes a seg fault in perl while
  2077. doing the xsubpp :-(.
  2078. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1997-09-03 12:31:48
  2079. * Make compiler build/work with devel 5.005
  2080. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1997-07-05 11:58:05
  2081. * Change %lx to %x in B::CV::save to prevent some CV
  2082. fields becoming 0 in the init section. Add missing
  2083. write_back in B::Stackobj::Padsv::load_double to fix
  2084. test 22 of op/my.t.
  2085. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1997-07-05 11:58:05
  2086. * B::CC::pp_padsv must cope with vivify_ref (5.004)
  2087. as well as provide_ref (5.003)
  2088. Malcolm Beattie <mbeattie@sable.ox.ac.uk> 1997-05-03 14:47:06
  2089. Alpha 4
  2090. * initial check in of compiler
  2091. from version Alpha a3 to a4