-*- change-log -*- Started on CPAN with B-C-1.04_12 The Perl compiler was in CORE from alpha4 until Perl 5.9.4 and worked quite fine with Perl 5.6 and 5.8 1.09 2009-12-27 rurban * C.pm: Cut down the number of AUTOLOAD'ed optrees, search only on empty gv->cv (31). Added very unsafe -O4/-fcop to eliminate most cops and file + line numbers. Added faster -fav-init to -O2, less unneeded av_extend(). Get rid of fbm_compile (11). Only 5.8.9 is broken. * CC.pm (1.02): partially fix eval "" for >=5.8.9, wrong CORE cc_runtime.h definition. (test 29 - eval "") * t/test.pl, t/c*.t: Simplify C/CC testsuite. * t/testc.sh: fixed -E Added -o for orig, no -Mblib * t/c_o3.t, t/c_o4.t: added 1.08 2009-12-23 rurban Adapt coding guidelines, add C and cperl coda. Reformat sources. * C.pm: Detect AUTOLOAD and CLONE (test 27 and 31). 5.10 is now the best release for unoptimized B::C. 5.8 is faster optimized, but misses some autoloaded xsubs. Simplify PVMG exclusion; all non-magical, not just PAD_OUR, as in Bytecode. * Bytecode.pm (1.04): Add missing BM logic to GV >= 5.10. Fixes test 11. Fixed op_pmflags logic for 5.10 threaded only, no += 2. Fixes test 2. Protect empty match from setting op_reflags. Fixes test 20. Add perlversion to the -S generated header. Document more options -TI, -TF, -u * perlcc: improve help. use Pod::Usage as module, not via cmdline. fix previous installation quirks. * assemble: improve pod. make it installable. * disassemble: make it installable. * cc_harness: ditto. * Makefile.PL: added script/* as EXE_FILES to install them. * t/TESTS, t/testc.sh, t/testplc.sh: test 31 non-xs AUTOLOAD added * ByteLoader/Makefile: tuning, bytecode.h triggers now byterun.c * bytecode.h: Specialize pregcomp on 5.10; add PL_regex_pad[0] for pregcomp if missing. fixes tests 3,4,5,7,31 on 5.10. 1.07 2009-12-19 rurban * C.pm: fix fbm_compile (INDEX) for >= 5.10. gv_list is already a pointer. rewrite PVGV (ie PVBM) init for >= 5.10. (test 11) Added CV->save_magic (untested) Fixed two wrong my decelarations detected by the new Od debugger. * README: Clarify DIFFERENCES section for CC only. Esp. the Context of ".." section. New test 30 * t/TESTS, t/testc.sh, t/testplc.sh: test 30 added for Context of ".." * t/testc.sh: fix -k logic, keep .pl for -O tests 1.06 2009-12-18 rurban Going public on the Perl birthday The first public compiler re-release since it was removed from CORE. * C.pm: Had to disable -O1 -fcog (pv_copy_on_grow) on 5.10 and higher until I find out how to fool S_unshare_hek_or_pvn. This fixes all C -O1 and -O2 tests. Warn about this. Fix wrong RV init on *5.10* for test 29 also, as with 5.11. Simplify __DATA__ handling. Warn when -O3 or -fsava-data is missing. Enable working -fsava-data on 5.8 and 5.10 threaded. Fixes couple of tests 15. Fix 5.8/5.10 PVMG pv = &PL_sv_undef for empty comppadnames * t/testc.sh: -k keep added. Delete temporaries on PASS as new default. -E added. Dump preprocessed source file with cc -E as _E.c (was default before) * Version bump to official: B::C 1.06 (1.05 is in 5.8.9) B::CC 1.01 B::Bytecode 1.03 B::Asmdata 1.03 B::Assembler 0.09 B::Disassembler 1.06 B::Bblock 1.03 ByteLoader 0.07 1.04_33 2009-12-17 rurban * t/cc*.t: skip some memory eating failing tests. * MANIFEST: dummy lib/B/Asmdata.pm added to fix cpan smokes. Thanks to Slaven Rezic. * C.pm: fix tests 14,16,23 on >=5.10, missing AV magic for CV main::a, protect PVMG from SvPAD_OUR. fix wrong RV init on 5.11 for test 29 * CC.pm: fix ARGS >=5.10 (in require, test 28). Enable quiet. No -q for quiet, just -v (verbose) or any -D switch turns on verbose. * t/testc.sh: Added test 27 (import), test 28 (require), test 29 (use) [Nick Koston] 1.04_32 2009-12-14 rurban Only two 5.10 B::C bugs remaining! * C.pm: added missing FBM logic to GV >= 5.10 (test 11). Forbid MAGIC on non-magival SVs >= 5.10 (tests 14 + 23). Special PVMG PL_sv_undef string. (namesv problem on 10,14,23) 1.04_31 2009-12-14 rurban * C.pm: fix test 21 on 5.10 "Bad free() ignored". Dynamically allocate CopLABEL. * Makefile.PL: fix the make depend section > 5.9 * t/testc.sh: fix -D option 1.04_30 2009-12-13 rurban Better 5.6 support, but Bytecode compiler still disabled. Not even the Byteloader works for 5.6 assembled code. The Disassembler does not stop at ret. Fixed several C tests. * bytecode.pl: renumbering policy: <= 5.6 squeeze, >= 5.8 fixed to force exact bytecode numbering as with 5.8. Allow float versions, such as 10.001 for subreleases. Add perlversion to header. Add byteorder check logic. Added logic to include all possible unsupported ops, all holes. bytecode table checked for 5.6.1, 5.6.2, 5.8.0, 5.8.1-5.11 Note, that I found official and contradicting 5.6.1 releases. ActiveState 5.6.1.626 had no op_children, the unix release tarball with 5.6.1 (called Trial 1) still has it. * ByteLoader.pm (1.06_06): better bytecode numbering. * Asmdata.pm (1.02_02): strict numbering along 5.8. Unsupported ops are now also included, with PUT method 0. * Assembler.pm (0.07_07): Add perlversion to header * Disassembler.pm (1.05_04): Add perlversion to header. Print header only for existing. * BcVersions/Asm*.pm, BcVersions.pod: added for most versions with the CORE compiler. * disassemble: Make it work with the older Disassembler. Make it work with older bytecode >= 5.8 via Asmdata unsupported ops. * i386.xs, jitcompiler.pl: removed (seperate module) * bytecode.h, C.xs: Fixed for 5.6, tested with 5.6.1 with MSVC. * bytecode.h, byterun.c: add static int force = 0. Override it to 1 to try out executing older bytecodes. * C.pm: fix test 16 on 5.10 again, non-threaded only (GVAV magic). first fix in 1.04_24, broken in 1.04_28. On 5.11 I have a broken RV handling here. Remove version and Regexp::DESTROY from the automatic methods (experimental). First attempts with pv and hek consting failed. * t/testc.sh, t/testplc.sh: support proper cmdline arguments, add -h for help Fixed test 5 by fixing the wrong test. * perloptree.pod: renamed from perloptreeguts.pod. Added links. 1.04_29 2009-12-07 rurban Disable the Bytecode compiler for 5.6. Fixed besides the __DATA__ handle (test 15) all remaining 5.8 C bugs. * C.pm: assign the PVX of GV also for empty stashes (main::) to avoid destruction failures at Perl_pad_undef() SvPVX_const(namesv) == '&'. Fixes tests 14 and 23 * byterun.c: No assert on empty bs_sv, it is &PL_sv_undef. Map missing -Dv on 5.6 to -Df i.e. -D256 Added better debugging output: setter values. * STATUS: re-run CORE tests, list cmdlines, update status * Disassembler.pm: added gen_header_hash() for gen_header output. add to documentation. * Bytecode.pm: -S uses gen_header_hash for gen_header output. 1.04_28 2009-12-06 rurban * C.pm: fix -fcog (Copy on Grow with -O1 and -O2) for >= 5.10 by a new SVPV. Statically initialize PVs with a union layout trick. Use char* as first union member. Revert xpvcv+svsect changes to pre-initialize those structs against gvcv recursion. * t/b.t, t/o.t, t/stash.t: fix tests for 5.6.2 * bytecode.c: byteorder swab only if same length. 1234 => 4321, 12345678 => 87654321. Skip a 0x prefix for byteorder in the header. Perl 5.6 had this. * Assembler.pm (0.07_06): 5.6 byteorder fix: until 5.6 the $Config{byteorder} was falsely dependent on ivsize, we need longsize. Add 0x to byteorder in header again, as with 5.6. * t/testc.sh: do not run old leftovers. some 5.6 optimizations * t/c_o1.t, t/c_o2.t, t/cc_o2.t, t/cc_o2.t: added * t/test.pl: support -O1 and -O2 * broke ByteLoader 1.04_27 2009-12-04 rurban * CC.pm (1.02_03): fixed endless loop in optimized sort. The sortcv cmp needed a return NULL (test 19). * c.t, cc.t: add failing tests as TODOs 1.04_26 2009-12-02 rurban * C.pm: remove nv->IVX for 5.10 (Can't locate object method "IVX" via package "B::NV"). protect mg->OBJ when SCALAR (Can't call method "save" on unblessed reference). fix NV isa IV, to fix test 23 (Nick Koston). fix CopLABEL for 5.11 (test 21) fix PMOP extflags, esp. for split on >= 5.10 (test 5 + 7) add fbm_compile() to BM::save >= 5.8 (test 11) (Nick Koston) * t/c.t, t/testc.sh: added tests 23, 24 (Nick Koston) * Bytecode.pm (1.02_04), bytecode.h: store and set PMOP reflags as U32. Fixes tests 2-4,7 Start of backporting Perl 5.6 1.04_25 2009-11-30 rurban * C.pm: fixed IO for 5.11: LINES => IVX. specialize GvLINES = -1 and protect against U32 signed-ness. fixed test 8 main::AUTOLOAD (unoptimized only) * t/test.pl: enable -Mblib for all Perl versions. fix 5.6.2 ldopts by explicit checking of (-lperl|CORE\/libperl5). make test works now for 5.6.2 * t/cc.t: adapt TODOs * t/c.t: add TODOs 15 for 5.6 * script/perlcc: a.exe for cygwin also 1.04_24 2009-11-29 rurban * C.pm: fixed more CV basics (test 9), just stash for autoload missing (test 8). PVLV adjusted, but no testcase yet. IO adjusted. Fixes test 4. re-enabled Perl 5.6, all tests but 8,15 pass with t/testc.sh. make test not. added option -DO, more OP info than with -Do. added saving "main::" CVs. Fixes test 16. Fixed PMOP op_pmreplroot for >= 5.10 (for SUBST). No test * t/TESTS, t/testc.sh: added 20 for qr// bug in 5.10 * t/c.t: remove TODO status from tests 14-16 1.04_23 2009-11-22 rurban * yapc_bratislava08.pod: title fix * SIGNATURE: added * C.pm: GvGP handling improved. added more sect comments. added -u option "unused" not to print verbose debugging info for unused subs. Fixed CV XPVCVIX initialisation - off-by-one error, wrong CvFLAGS. Fixes test 6. * run perltidy -i=2 1.04_22 2009-11-16 rurban * C.pm, CC.pm: fixed illegal pad in ASSERT_CURPAD_ACTIVE("pad_sv") with DEBUGGING. Simply forgot to set PL_comppad 1.04_21 2009-11-07 rurban * yapc_bratislava08.pod: added * C.pm: fixed CALLREGCOMP >=5.10 by using dynamic newSVpvn as in ByteLoader 1.04_20 2008-06-25 rurban * t/TESTS: numbered. * t/TESTS: added sub FETCHSIZE to test 16. required now * C.pm, CC.pm: change debug globals to hash. * C.pm: Fix B::RV::save for 5.10 * CC.pm: 5.10 fixed GvSV to GvSVn (PERL_DONT_CREATE_GVSV), fix cc test 3+4 crash * Artistic, Copying: added. Clarified perl license. * Bytecode.pm: fixed IO=>PVNV problem in test 15. * bytecode.pl, bytecode.h: rewrote gp_sv and gp_file setters with x (special setters). Fixes unshare hek assert in test 15, and force creation of GVSV. * Assembler.pm 0.07_05: cygwin text-mount fixes with \r\n * t/testplc.sh, t/testc.sh: require bash, accept testnumber args * Asmdata.pm: fix PORTABILITY docs * t/testc.sh: -Bdynamic: link to shared libperl * cc_harness: simplify. fixed for -Bdynamic -E 1.04_19 2008-06-08 rurban * CC.pm: CXt_LOOP check rewrite, use now CxTYPE_no_LOOP() * CC.pm, t/*.t: useithreads, not usethreads * bytecode.t, test.pl: TODO handling: do not print "ok 1 #" * b.t: fixed skip logic, better skip message * Bblock: fixed to work without B::Concise (5.6.2) * C.xs: add PM_GETRE for 5.6.2 and earlier * CC.pm: Fix PP_EVAL hack from 1.04_18 * Bytecode: fixed IO::SUBPROCESS error (test 15) * cc_harness: check static libperl.a, else try dynamic. Support -E * ByteLoader: support different byteorders (Disassembler not yet) * ByteLoader, Assembler, bytecode.pl: add archflags to header, relax platform strictness. * t/stash.t fixed for 5.10 * Disassembler: added hashref return for get_header in scalar context. * Bytecode: fixed compiler crash/assertions for GV without GP (test 11) 1.04_18 2008-06-04 rurban * Fixed t/assembler.t on 5.6.2 * Added ByteLoader::unimport (from 5.6.2) * ByteLoader: Fixed bytecode crashes for 5.10+5.11 in 2-5, 7 by removing PMf_COMPILETIME from op_pmflags. Reason: empty check_substr in INTUIT. (6 still failing) * ByteLoader: Fixes for 5.11 by using PM_SETRE (test 7 still failing) * Bytecode: removed op_reflags. pregcomp with op_pmflags alone is enough to reconstruct it. * C,CC: enabled static_ext + DynaLoader boot section again. Fixed in cygperl. * CC: fixed Bug#55302 PP_EVAL by adding PP_EVAL_thr for threaded perl. cc_runtime.h was always wrong on this! 1.04_17 2008-04-20 rurban Added Fedora Core 1 as test system (5.6.2, 5.8.3, 5.11.0@33708 + valgrind) * ByteLoader: Fixed broken BYTEORDER check (for 32int) * ByteLoader: Remove allowing older versions until we have an opcode table for older versions. * ByteLoader: Fixed SIGSEGV with older gcc (3.3.2) at bstate->bs_obj_list[0] = NULL * ByteLoader, C.xs: Newx() support and more for older perl's. Tested with 5.8.3 * bytecode.pl: Fixed <11 op_reflags (double definition) * bytecode.pl: Support 8-10 version syntax (op_pmstash, cop_io) * Makefile.PL: added MKPATH blib/bin * added ByteLoader/ppport.h * fixed t/stash.t for 5.11 1.04_16 2008-04-14 rurban * ByteLoader: Fix PL_tokenbuf for older perls without PL_parser * B::C: walkoptree_slow for verbose statistics op_count. * Consistent in -v verbose and not verbose. * Workaround for invalid pad in save_context. * Added -Dp for verbose package cache printing. * -v verbose adds more generated comments: op struct fields * Fixed cop_label for 5.11 (Change #33656) * Fixed make subdirs-test error in 5.8.8 * Fixed RT#52920 "invalid cop_free of nullified cop" for B::C 1.04_15 2008-04-11 rurban Highlights: bytecode and ByteLoader portability preparation and commented disassembler output. PVGV and new REGEX still broken. Fixes for no ithreads. * Fixed verbose Bytecode for old B::Concise (5.8.8). t/testplc.sh failed before. * ByteLoader: Work on portability (different arch, version and sizes). Added bl_header. Changed macro BYTECODE_HEADER_CHECK to function bytecode_header_check(). Fixes for no threads. * bytecode.h: pregcomp fix for 5.10 w/o threads (Thanks to david@cantrell.org.uk for his cpantest for netbsd). use xpv_cur and not xpv_len for the rx length (len - 1) to strip off the ending nul byte. 5.10: new minlen check aborts * ByteLoader security: added strconst maxsize flag to bytecode.pl for buffer overflow checks. * Bytecode -DA for devel assertions of absolute or probably wrong opindex pointers (nyi) * disassemble, B::Assembler: commented output, similar to -MO=Bytecode,-S Added backwards option --bare for older assemblers. * assemble, disassemble: added pod * B::Disassembler: Provide default printers print_insn (commented) and print_insn_bare. Portability: Use the header settings from the .plc and not the current perl settings. * B::Assembler 0.07_03, B::Disassembler 1.05_02, ByteLoader 0.06_03: Added longsize to the bytecode header, just for xcv_depth. * B::Debug 1.05_03: Fixes for no threads. * Makefile.PL: Fixed script/perlcc.PL dependency make: *** No rule to make target `script/perlcc', needed by `blib/bin/perlcc'. (Thanks to david@cantrell.org.uk for his cpantest for solaris) * Added test TODO's, Added perloptreeguts.pod 1.04_14 2008-03-24 rurban * Fixed some 1.04_13 +x executable permissions in docs. Windows habits. 1.04_13 2008-03-24 rurban * Fixed B::C pv init in 5.10. Forgot refcnt and flags. * Added "Other perl to exe compilers" section to perlcompile.pod. This is even a FAQ. * Added the NOTES to perlcompile.pod * Added temp. perloptreeguts.pod. In work, also at the wiki. * Fixed Bytecode op_pmflags assertions. * Added orangesect for enough regexp space in RE's sv_any. Engine not initialized though. * Hangs in C/CC executables at an op_free(PL_main_root) trying to free the static op structsm because the earlier op_seq -1 hack is gone now, and opt_static was replaced by opt_latefree. Set now opt_latefree = 1. This fixed tests 1 and 13. Slowly making progress step by step. 1.04_12 2008-03-16 rurban (first upload) * Fixed bug #40435 CC: Can't locate object method "_save_common_middle" via package "B::FAKEOP" * move tests from [bc]*.t into shared TESTS file. * fixed remaining ugly Bytecode bug in B::AV::bsave $_ = $_->ix for @array. Now we are at the same state as with 5.9.4 * fixed wrong bc cop_warning cast for 5.8 * fixed CC pmreplroot and pmreplstart fields * make C and CC less verbose, honor -v, -q ignored. 1.04_11 2008-03-09 rurban * removed Jit and Asm stuff. Maybe as seperate packages somewhen. But targeting PIR makes more sense. * added STATUS * added old Changes from the new git clone repo by Sam Vilain * fix C cop * fix C savepvn apparently * work on HV init - crashes at invalid entry * use run_cc_test 1.04_10 2008-02-26 rurban * change bc pvx access dummy struct bytestate_xpv, so pv has the same fields as with 5.8, seperated from the sv. The sv is seperated from the pv. TODO: different strategy for B::C, must link xpv to sv * add and parse Assembler comments * add Bytecode comments to -S output unless -q * change op_reflags from U16 to U32 * guarantee ByteLoader backwards compatibility: Accept lower versions also. 1.04_09 2008-02-25 rurban * restored 5.8 backwards compatibility, mainly for test comparison. CPAN installation will abort. * make t/test*.sh PERL independent * fixed B::C GV init crashes (SvPOK assertion) * added B::C RE section * fixed B::C xpvcv and xpvnv section * comment Bytecode -S nice ops to re-assemble them without errors * added new asm opcode op_reflags * removed Bytecode cop_arybase for 5.10 * 5.8 compatibility: fixed bytecode.pl versioning, Asmdata creation (exact same for 5.8.8), asmdata.t, b.t tests * improved make clean * add ByteLoader -Dt and -Dv debugging * don't link against jit code against possible sideeffects * fixed c.t and cc.t tests 1.04_08 2008-02-22 rurban * fixed t/b.t tests for 5.11 (REGEXP, ref RV => IV) * fixed Makefile.PL deps to ignore the interim .pl files * added PMOP reflags * added madprop to B-1.18_01 and B::C (if provided by B) * enhanced B::Debug 1.05_02 * fixed B::C PL_cshlen (already initialized since 5.10) * fixed B::C GvFILE * fixed various (SV)xpv list casts and inits, * fixed B::C xpvnv_list for 5.10 * fixed B::C xpvio_list for 5.10 * fixed B::C pmopsect for 5.11 * bootstrap also all $Config{static_ext}, not only dynamic stashes 1.04_07 2008-02-20 rurban * moved bstate->bs_pv.xpv_pv slot to bs_pv.xiv_u.xivu_p1 * fixed pv_free * added op_pmflags 2 to match PMOP * moved B into lib/B * fixed ByteLoader Makefile deps * added -DM flag to Bytecode backend * added perlcompile.pod and Perl_5_Internals.htm 1.04_06 2008-02-19 rurban * no crashes anymore for 5.10, just op_pmflags & PMf_ONCE assertions. * blead@32980 crashes in tests 11,16,17,18 * enhanced B::Debug (no version bump) * fixed general op_list inits, and specials for av, hv * almost fixed pv within sv handling * added -O=C,-DS for SV debugging 1.04_05 2008-02-18 rurban * added t/test.pl and t/test*.sh to MANIFEST. * fixed ByteLoader reading from the filter. * fixed -H .plc header parsing * updated Bytecode options in NOTES and pod * added -O=Bytecode,-v option * fixed PL_preprocess and SvREPADTMP_off for 5.11 1.04_04 2008-02-08 rurban * added jitcompiler macros 1.04_03 2008-02-05 rurban * added Jit and Asm layout, fixed Makefile deps 1.04_02 2008-01-22 rurban (never uploaded) * removed from CORE, now on CPAN. * added byteorder to bytecode header. * added support for 5.10 (NOT WORKING!), 5.9.5 not tested. up to 5.8.x already in CORE, so disabled. add back support later, when C/CC is improved or more features are added. * added type hekindex * added c.t and cc.t tests * extended bytecode.pl format: added version logic to have strictly consecutive indices 1.04_01 2008-01-15 rurban (never uploaded) * first package layout for all now non-CORE packages. =================================================================== B::C was at 1.05 when removed from core with 5.9.4. Nicholas Clark 2007-05-07 15:35:56 bytecode.pl: Exterminate! ext/B/B/Asmdata.pm: Exterminate! Nicholas Clark 2007-05-07 14:53:05 Given that @optype and @specialsv_name are hard coded tables, it seems more logical for them to be in B.pm, rather than in the "boilerplate" for the machine generated B/Asmdata.pm Marcus Holland-Moritz 2004-08-29 13:22:48 Fix typo in B::Assembler. Marcus Holland-Moritz 2004-08-29 13:21:50 Skip ext/B/t/assembler.t when configured without B. Rafael Garcia-Suarez 2003-08-09 21:13:27 Remove ByteLoader from the list of modules whose compilability should be tested : it's loaded (at runtime) by ext/B/t/bytecode.t (as Enache pointed out.) chromatic 2002-05-10 07:43:25 added ext/B/t/o.t Gurusamy Sarathy 2001-03-19 08:07:09 Subject: Re: sync sync sync: have I missed any patches? Replace djSP with dSP. Mark-Jason Dominus 2001-01-16 14:43:18 Subject: [PATCH @8436] Eliminate op_children (Replaced by #8448) Traces of op_children (cleanup of #8442) (Replaced by #8448) More op_children traces (cleanup of #8442). Subject: [PATCH #3 @8436] Re: Eliminate op_children Replace #8444 and #8445. Gurusamy Sarathy 2001-01-30 14:20:24 integrate changes#7984,7987,8010 from mainline (gets rid of dTHR which has been a noop for a while now, except for the compatibility definition in thread.h) @8010 remove dTHR; Gurusamy Sarathy 2000-12-18 03:37:02 @7518 UNIVERSAL::can Gurusamy Sarathy 2000-12-18 00:03:38 Fix a couple of compiler-noted nits in #7235. Fix of sorts for bug id 20000901.092. There seems to be no trace of a 'pmshort' anywhere in the B, so the offending line was simply removed. Gurusamy Sarathy 2000-12-17 22:49:13 Subject: [ID 20000928.002] perlcc & ByteCode.pm option mismatch Did not apply cleanly, manual intervention was needed. Subject: [ID 20001003.006] B::Debug not -w clean Test harness update to sync with the new perlcc, from Simon Cozens. Gurusamy Sarathy 2000-11-27 18:11:21 Bytecompiler patches from Benjamin Stuhl. More bytecompiler. Subject: [PATCH blead] B:: missing dependency Byteloader 0.04 Gurusamy Sarathy 2000-11-27 13:53:18 U8->U16 CvFLAGS(cv) Jarkko Hietaniemi 2001-10-25 18:07:58 * make re, Opcode, File::Glob and B threadsafe * include XS_VERSION in MY_CXT_KEY (tweak for change#12652) Jarkko Hietaniemi 2001-04-05 04:00:33 Integrate changes #9544,9547,9549(perlio),9550,9551 from maintperl into mainline. "double" should be "NV"; standard typemap is missing entry for NV Author: bailey 2000-02-09 09:09:45 Resync with mainline bailey 2000-01-20 00:25:30 Quick integration of mainline changes to date Nathan Torkington 1999-08-01 11:23:35 ext/B/B/Disassembler.pm patch Message-ID: <14244.33431.739419.806927@localhost.frii.com> Nick Ing-Simmons 1999-01-02 14:06:30 Export constant subs from B.xs for op.h, cop.h and a few others. Use them in various B::* rather than have local defs. Nick Ing-Simmons 1999-01-02 10:04:02 Integrate ext/B changes from //depot/cfgperl 'copy in' ext/B/B.xs (@2460..) 'merge in' ext/B/B/C.pm ext/B/B/CC.pm ext/B/B/Stackobj.pm (@2524..) Nick Ing-Simmons 1999-01-02 10:04:02 @2491 Integrate ext/B changes from //depot/cfgperl Gurusamy Sarathy 1998-09-23 09:52:46 B::Asmdata define PUT_svindex(), PUT_opindex() Nick Ing-Simmons 1998-12-20 14:21:29 Save _all_ GV's which have SV, AV or HV set. Gurusamy Sarathy 1998-08-02 07:09:35 fixes for pod noises Gurusamy Sarathy 1998-07-22 02:08:00 fix up B modules for PL_* changes Malcolm Beattie 1998-07-21 18:13:16 Compiler docs for 5.005 Message-Id: <199807211713.SAA20735@sable.ox.ac.uk> Gurusamy Sarathy 1998-07-22 01:29:09 s/PL_sv/PL_bytecode_sv/ etc., so we have unique, case-insensitive names Gurusamy Sarathy 1998-07-21 07:12:00 fix bytecode.pl with moved var names Gurusamy Sarathy 1998-07-21 05:31:13 part 2 of PERL_OBJECT fixes (globals in bytecode.h moved to intrpvar.h) Gurusamy Sarathy 1998-07-21 05:29:10 part 1 of PERL_OBJECT fixes for new var names Gurusamy Sarathy 1998-07-20 09:38:39 complete s/foo/PL_foo/ changes (all escaped cases identified with brute force search script). Result builds and passes all tests on Solaris. win32 and PERL_OBJECT are still untested. Nick Ing-Simmons 1998-07-18 13:53:03 PL_ prefix to all perlvars, part1 Builds and passes all tests at one limit i.e. -DPERL_GLOBAL_STRUCT Ilya Zakharevich 1998-07-15 06:10:36 Minor improvements to perlcc Message-Id: <199807151010.GAA11270@monk.mps.ohio-state.edu> Gurusamy Sarathy 1998-07-15 10:01:41 add stub docs for ext/B, other minor tweaks Gurusamy Sarathy 1998-07-09 05:37:48 get it building again on win32 Gurusamy Sarathy 1998-07-04 05:02:01 fix perlcc to not rm output file, and other -w(arts) Stephen McCamant 1998-06-22 21:19:43 Inheritance of B:: classes Message-Id: Gurusamy Sarathy 1998-06-19 17:22:23 update repository copy of Asmdata.pm after `perl bytecode.pl` Gurusamy Sarathy 1998-06-11 02:59:23 fix outdated bytecode.pl Nick Ing-Simmons 1998-05-14 18:09:01 Changes to allow compiler with gcc-2.8.1 in C++ mode, Remove K&R style functions, avoid struct/typedef clash. Ed Peschko 1998-04-29 21:02:36 [ PATCH 5.004_64 ] Integrated regression tests for compiler added perlcc.PL Ilya Zakharevich 1998-04-08 03:21:03 Subject: [PATCH 5.004_64] Cryptic error from B::CC Date: Sat, 11 Apr 1998 19:52:25 -0400 (EDT) Malcolm Beattie 1998-04-14 16:22:51 [compiler] CC did "<<" instead of ">>" for right-shift on ints. Charles Bailey 1998-03-02 01:48:27 Miscellaneous minor fixes Spider Boardman 1998-03-01 02:02:47 Almost OK: 5.004_61 (threads, perlio) Andrew Cohen 1998-02-27 20:03:29 Change getc/fread to PerlIO_getc/fread in bytecode.h: Subject: [PATCH 5.004_61] bunch of small patches Nick Ing-Simmons 1998-02-28 11:31:15 Missed FREAD in bytecode.h Cannot export svref_mutex in non-threaded perl Malcolm Beattie 1998-02-27 18:35:27 Change FREAD/FGETC to BGET_FREAD/BGET_FGETC to avoid clash with preprocessor symbol on Digital UNIX. Gurusamy Sarathy 1998-02-26 03:56:19 [win32] various cleanups so that B can be built as "just another extension" - export symbols needed for building B - bset_obj_store() is needed by byterun(), so define it there instead of at B.xs, and export it - freadpv() is only used in B.xs, so move it there - byte*.h are now included by perl.h - regenerate embed*.h Gurusamy Sarathy 1998-02-22 02:40:56 [win32] get compiler building under win32 (needed Makefile.PL hacks that could be applicable to other platforms) Malcolm Beattie 1998-02-25 17:44:34 More compiler tweaks. Malcolm Beattie 1998-02-20 18:23:47 Remove compiler files from their old lib/B locations. The compiler now builds by default (without the byteperl executable so far) and seems to work at least minimally. Malcolm Beattie 1998-02-20 18:05:33 Move lib/B/... and lib/[BO].pm over to where they should be, under ext/B. Malcolm Beattie 1998-02-20 17:54:58 Start getting compiler to work when built with the core. [Still won't work as of this change.] Malcolm Beattie 1998-02-20 16:42:13 * Merge perlext/Compiler/... into mainline. Some files move to ext/B/..., some to lib/B/..., O.pm and B.pm go in lib and some move to the base perl directory (e.g. headers). Will need some cleaning up before it builds properly, I would guess. Malcolm Beattie 1998-02-20 16:39:38 * [compiler] Win32 changes from Sarathy, tweaked slightly by me. Malcolm Beattie 1998-02-17 17:50:50 * Assorted changes to the compiler Malcolm Beattie 1997-12-17 10:59:40 * Fix typo in compiler B/C.pm. Malcolm Beattie 1997-12-10 18:33:53 Alpha5 * Start overhauling compiler. It was working at least minimally right up until the final tweak of B.xs to add threadsv_names at which point building it provokes a seg fault in perl while doing the xsubpp :-(. Malcolm Beattie 1997-09-03 12:31:48 * Make compiler build/work with devel 5.005 Malcolm Beattie 1997-07-05 11:58:05 * Change %lx to %x in B::CV::save to prevent some CV fields becoming 0 in the init section. Add missing write_back in B::Stackobj::Padsv::load_double to fix test 22 of op/my.t. Malcolm Beattie 1997-07-05 11:58:05 * B::CC::pp_padsv must cope with vivify_ref (5.004) as well as provide_ref (5.003) Malcolm Beattie 1997-05-03 14:47:06 Alpha 4 * initial check in of compiler from version Alpha a3 to a4