X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fearly-fasl.lisp;h=a6259dba4df3bffa71de49ee2eef5ac7064c28af;hb=b0b168c08b31a748150f404398af754f26fd4813;hp=8b2af91dce875606c2627285b3311cdb2e373bad;hpb=7a5fb799b50cda4f2546e1fa98a903281d9849c5;p=sbcl.git diff --git a/src/code/early-fasl.lisp b/src/code/early-fasl.lisp index 8b2af91..a6259db 100644 --- a/src/code/early-fasl.lisp +++ b/src/code/early-fasl.lisp @@ -38,7 +38,7 @@ ;;; This value should be incremented when the system changes in such ;;; a way that it will no longer work reliably with old fasl files. -(defconstant +fasl-file-version+ 15) +(defconstant +fasl-file-version+ 21) ;;; 2 = sbcl-0.6.4 uses COMPILE-OR-LOAD-DEFGENERIC. ;;; 3 = sbcl-0.6.6 uses private symbol, not :EMPTY, for empty HASH-TABLE slot. ;;; 4 = sbcl-0.6.7 uses HAIRY-DATA-VECTOR-REF and HAIRY-DATA-VECTOR-SET @@ -65,18 +65,31 @@ ;;; 13 = sbcl-0.6.12.28 removed some elements from *STATIC-SYMBOLS* ;;; 14 = sbcl-0.6.12.29 removed more elements from *STATIC-SYMBOLS* ;;; 15 = sbcl-0.6.12.33 changed the layout of STREAM - -;;; the conventional file extension for fasl files on this -;;; architecture, e.g. "x86f" -(declaim (type (or simple-string null) *backend-fasl-file-type*)) -(defvar *backend-fasl-file-type* nil) - -;;; This is a sort of pun that we inherited from CMU CL. For ordinary, -;;; non-byte-coded fasl files, the "implementation" is basically the -;;; CPU. For byte-coded fasl files, the "implementation" is whether -;;; the data are stored big-endianly or little-endianly. -(defun backend-byte-fasl-file-implementation () - *backend-byte-order*) +;;; 16 = sbcl-0.pre7.15 changed the layout of PRETTY-STREAM +;;; 17 = sbcl-0.pre7.38 (merging many changes accumulated in +;;; the sbcl-0.pre7.37.flaky5.* branch back into the main branch) +;;; got rid of byte compiler, byte interpreter, and IR1 +;;; interpreter, changed %DEFUN and DEFSTRUCT, changed the +;;; meaning of FOP-FSET, and changed the layouts of various +;;; internal compiler structures (e.g. DEFSTRUCT CLAMBDA) +;;; 18 = sbcl-0.pre7.39 swapped FUNCTION-POINTER-TYPE and +;;; INSTANCE-POINTER-LOWTAG low-level type codes to help with +;;; the PPC port +;;; (In 0.pre7.48, the low-level object layout of SYMBOL on the +;;; non-X86 ports changed. I forgot to bump the fasl version number: +;;; I only have an X86.. -- WHN) +;;; 19 = sbcl-0.pre7.50 deleted byte-compiler-related low-level type codes +;;; 20 = sbcl-0.pre7.51 modified names and layouts of +;;; physical-environment-related structures in the compiler +;;; 21 = sbcl-0.pre7.62 finally incremented the version after several +;;; incompatible changes in earlier versions: many many symbols +;;; renamed, changes in globaldb representation of constants +;;; and inline functions, and change in the value of +;;; INTERNAL-TIME-UNITS-PER-SECOND + +;;; the conventional file extension for our fasl files +(declaim (type simple-string *fasl-file-type*)) +(defvar *fasl-file-type* "fasl") ;;; information about below-Lisp-level linkage ;;; @@ -97,14 +110,14 @@ ;;;; the FOP database -(declaim (simple-vector *fop-names* *fop-functions*)) +(declaim (simple-vector *fop-names* *fop-funs*)) ;;; a vector indexed by a FaslOP that yields the FOP's name (defvar *fop-names* (make-array 256 :initial-element nil)) ;;; a vector indexed by a FaslOP that yields a function of 0 arguments ;;; which will perform the operation -(defvar *fop-functions* +(defvar *fop-funs* (make-array 256 :initial-element (lambda () (error "corrupt fasl file: losing FOP")))) @@ -121,7 +134,7 @@ ;;; the FASL file we're reading from (defvar *fasl-input-stream*) -(declaim (type lisp-stream *fasl-input-stream*)) +(declaim (type ansi-stream *fasl-input-stream*)) (defvar *load-print* nil #!+sb-doc