The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
-*- change-log -*-
Started on CPAN with B-C-1.04_12. The perl compiler was in CORE from alpha4 
until Perl 5.9.4.

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 <DATA> 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 1.03 when exterminated.
Oops, Module::Corelist says 1.05 for 5.9.4, Right so.	

Nicholas Clark <nwc10+p5p4@colon.colondot.net>  2007-05-07 15:35:56
    bytecode.pl:        Exterminate!
    ext/B/B/Asmdata.pm: Exterminate!

Nicholas Clark <nwc10+p5p4@colon.colondot.net>  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 <mhx-perl@gmx.net>  2004-08-29 13:22:48
    Fix typo in B::Assembler.

Marcus Holland-Moritz <mhx-perl@gmx.net>  2004-08-29 13:21:50
    Skip ext/B/t/assembler.t when configured without B.

Rafael Garcia-Suarez <rgarciasuarez@gmail.com>  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 <chromatic@rmci.net>  2002-05-10 07:43:25
	added ext/B/t/o.t

Gurusamy Sarathy <gsar@cpan.org>  2001-03-19 08:07:09
    Subject: Re: sync sync sync: have I missed any patches?
    Replace djSP with dSP.

Mark-Jason Dominus <mjd@plover.com>  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 <gsar@cpan.org>  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 <gsar@cpan.org>  2000-12-18 03:37:02
	@7518 UNIVERSAL::can

Gurusamy Sarathy <gsar@cpan.org>  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 <gsar@cpan.org>  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 <gsar@cpan.org>  2000-11-27 18:11:21
    Bytecompiler patches from Benjamin Stuhl.
    More bytecompiler.
    Subject: [PATCH blead] B:: missing dependency
    Byteloader 0.04

Gurusamy Sarathy <gsar@cpan.org>  2000-11-27 13:53:18
	U8->U16 CvFLAGS(cv)

Jarkko Hietaniemi <jhi@iki.fi>  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 <jhi@iki.fi>  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 <bailey@bailey_vms>  2000-02-09 09:09:45
    Resync with mainline

bailey <bailey@bailey_vms>  2000-01-20 00:25:30
           Quick integration of mainline changes to date

Nathan Torkington <gnat@frii.com>  1999-08-01 11:23:35
    ext/B/B/Disassembler.pm patch
    Message-ID: <14244.33431.739419.806927@localhost.frii.com>

Nick Ing-Simmons <nick@ing-simmons.net>  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 <nick@ing-simmons.net>  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 <nick@ing-simmons.net>  1999-01-02 10:04:02
    @2491 Integrate ext/B changes from //depot/cfgperl

Gurusamy Sarathy <gsar@cpan.org>  1998-09-23 09:52:46
    B::Asmdata define PUT_svindex(), PUT_opindex()

Nick Ing-Simmons <nick@ing-simmons.net>  1998-12-20 14:21:29
    Save _all_ GV's which have SV, AV or HV set.

Gurusamy Sarathy <gsar@cpan.org>  1998-08-02 07:09:35
    fixes for pod noises

Gurusamy Sarathy <gsar@cpan.org>  1998-07-22 02:08:00
    fix up B modules for PL_* changes

Malcolm Beattie <mbeattie@sable.ox.ac.uk>  1998-07-21 18:13:16
    Compiler docs for 5.005
    Message-Id: <199807211713.SAA20735@sable.ox.ac.uk>

Gurusamy Sarathy <gsar@cpan.org>  1998-07-22 01:29:09
    s/PL_sv/PL_bytecode_sv/ etc., so we have unique, case-insensitive
    names

Gurusamy Sarathy <gsar@cpan.org>  1998-07-21 07:12:00
    fix bytecode.pl with moved var names

Gurusamy Sarathy <gsar@cpan.org>  1998-07-21 05:31:13
    part 2 of PERL_OBJECT fixes (globals in bytecode.h moved to intrpvar.h)

Gurusamy Sarathy <gsar@cpan.org>  1998-07-21 05:29:10
    part 1 of PERL_OBJECT fixes for new var names

Gurusamy Sarathy <gsar@cpan.org>  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 <nick@ing-simmons.net>  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 <ilya@math.ohio-state.edu>  1998-07-15 06:10:36
    Minor improvements to perlcc
    Message-Id: <199807151010.GAA11270@monk.mps.ohio-state.edu>

Gurusamy Sarathy <gsar@cpan.org>  1998-07-15 10:01:41
    add stub docs for ext/B, other minor tweaks

Gurusamy Sarathy <gsar@cpan.org>  1998-07-09 05:37:48
    get it building again on win32

Gurusamy Sarathy <gsar@cpan.org>  1998-07-04 05:02:01
	fix perlcc to not rm output file, and other -w(arts)

Stephen McCamant <alias@mcs.com>  1998-06-22 21:19:43
    Inheritance of B:: classes
    Message-Id: <m0yoIgR-000EP2C@alias-2.pr.mcs.net>

Gurusamy Sarathy <gsar@cpan.org>  1998-06-19 17:22:23
    update repository copy of Asmdata.pm after `perl bytecode.pl`

Gurusamy Sarathy <gsar@cpan.org>  1998-06-11 02:59:23
    fix outdated bytecode.pl

Nick Ing-Simmons <nick@ing-simmons.net>  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 <epeschko@den-mdev1>  1998-04-29 21:02:36
    [ PATCH 5.004_64 ] Integrated regression tests for compiler
    added perlcc.PL

Ilya Zakharevich <ilya@math.ohio-state.edu>  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 <mbeattie@sable.ox.ac.uk>  1998-04-14 16:22:51
    [compiler] CC did "<<" instead of ">>" for right-shift on ints.

Charles Bailey <bailey@newman.upenn.edu>  1998-03-02 01:48:27
	Miscellaneous minor fixes

Spider Boardman <spider@orb.nashua.nh.us>  1998-03-01 02:02:47
	Almost OK: 5.004_61 (threads, perlio)

Andrew Cohen <cohen@andy.bu.edu>  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 <nick@ing-simmons.net>  1998-02-28 11:31:15
    Missed FREAD in bytecode.h
    Cannot export svref_mutex in non-threaded perl

Malcolm Beattie <mbeattie@sable.ox.ac.uk>  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 <gsar@cpan.org>  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 <gsar@cpan.org>  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 <mbeattie@sable.ox.ac.uk>  1998-02-25 17:44:34
	More compiler tweaks.

Malcolm Beattie <mbeattie@sable.ox.ac.uk>  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 <mbeattie@sable.ox.ac.uk>  1998-02-20 18:05:33
    Move lib/B/... and lib/[BO].pm over to where they should be,
    under ext/B.
    
Malcolm Beattie <mbeattie@sable.ox.ac.uk>  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 <mbeattie@sable.ox.ac.uk>  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 <mbeattie@sable.ox.ac.uk>  1998-02-20 16:39:38
	* [compiler] Win32 changes from Sarathy, tweaked slightly by me.

Malcolm Beattie <mbeattie@sable.ox.ac.uk>  1998-02-17 17:50:50
	* Assorted changes to the compiler

Malcolm Beattie <mbeattie@sable.ox.ac.uk>  1997-12-17 10:59:40
	* Fix typo in compiler B/C.pm.

Alpha5 Malcolm Beattie <mbeattie@sable.ox.ac.uk>  1997-12-10 18:33:53
	* 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 <mbeattie@sable.ox.ac.uk>  1997-09-03 12:31:48
	* Make compiler build/work with devel 5.005

Malcolm Beattie <mbeattie@sable.ox.ac.uk>  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 <mbeattie@sable.ox.ac.uk>  1997-07-05 11:58:05 
	* B::CC::pp_padsv must cope with vivify_ref (5.004)
	  as well as provide_ref (5.003)

a4 Malcolm Beattie <mbeattie@sable.ox.ac.uk>  1997-05-03 14:47:06  
	* initial check in of compiler
	from version Alpha a3 to a4