From Eric Marsden:
- change the FASL file format to store fasl-file version as uint32, rather than a single octet. This requires small changes to the FASL dumper and two FOP functions - change the FASL-FILE-FORMAT to #x18d for each of the backends - change the byte-code version number to #x18d - make the FASL file version checking errors continuable - add a variable CL::*SKIP-FASL-FILE-VERSION-CHECK* that avoids the version check - add a bootfile that bootstraps this change Loading an old FASL file results in the following behaviour: ,---- | Error in function COMMON-LISP::CHECK-VERSION: | #<Stream for file "/usr/local/lib/cmucl/lib/subsystems/defsystem-library.x86f"> | was compiled for fasl-file version 3E3F02, but this is version 18D | Restarts: | 0: [CONTINUE] Load #<Stream for file "/usr/local/lib/cmucl/lib/subsystems/defsystem-library.x86f"> anyway | 1: Return NIL from load of #p"modules:defsystem-library". | 2: Return NIL from load of "home:.cmucl-init". | 3: [ABORT ] Skip remaining initializations. `----
Showing
- RCSconfig 0 additions, 3 deletionsRCSconfig
- code/load.lisp 26 additions, 13 deletionscode/load.lisp
- compiler/alpha/parms.lisp 2 additions, 2 deletionscompiler/alpha/parms.lisp
- compiler/byte-comp.lisp 2 additions, 2 deletionscompiler/byte-comp.lisp
- compiler/dump.lisp 2 additions, 2 deletionscompiler/dump.lisp
- compiler/generic/new-genesis.lisp 15 additions, 9 deletionscompiler/generic/new-genesis.lisp
- compiler/hppa/parms.lisp 2 additions, 2 deletionscompiler/hppa/parms.lisp
- compiler/mips/parms.lisp 2 additions, 2 deletionscompiler/mips/parms.lisp
- compiler/ppc/parms.lisp 2 additions, 2 deletionscompiler/ppc/parms.lisp
- compiler/sparc/parms.lisp 2 additions, 2 deletionscompiler/sparc/parms.lisp
- compiler/x86/parms.lisp 2 additions, 2 deletionscompiler/x86/parms.lisp
Loading
Please register or sign in to comment