;;; 2: eliminated non-ANSI %DEFCONSTANT/%%DEFCONSTANT support,
;;; deleted a slot from DEBUG-SOURCE structure
;;; 3: added build ID to cores to discourage sbcl/.core mismatch
-(defconstant sbcl-core-version-integer 3)
+;;; 4: added gc page table data
+(defconstant sbcl-core-version-integer 4)
(defun round-up (number size)
#!+sb-doc
(number-to-core target-layout-length)
(vector-in-core)
;; FIXME: hard-coded LAYOUT-DEPTHOID of LAYOUT..
- (number-to-core 4)
+ (number-to-core 3)
;; no raw slots in LAYOUT:
(number-to-core 0)))
(write-wordindexed *layout-layout*
(vector-in-core)
(number-to-core 0)
(number-to-core 0)))
- (i-layout
- (make-cold-layout 'instance
- (number-to-core 0)
- (vector-in-core t-layout)
- (number-to-core 1)
- (number-to-core 0)))
(so-layout
(make-cold-layout 'structure-object
(number-to-core 1)
- (vector-in-core t-layout i-layout)
- (number-to-core 2)
+ (vector-in-core t-layout)
+ (number-to-core 1)
(number-to-core 0)))
(bso-layout
(make-cold-layout 'structure!object
(number-to-core 1)
- (vector-in-core t-layout i-layout so-layout)
- (number-to-core 3)
+ (vector-in-core t-layout so-layout)
+ (number-to-core 2)
(number-to-core 0)))
(layout-inherits (vector-in-core t-layout
- i-layout
so-layout
bso-layout)))
(frob sb!kernel::undefined-alien-function-error)
(frob sb!kernel::memory-fault-error)
(frob sb!di::handle-breakpoint)
- (frob sb!di::handle-fun-end-breakpoint))
+ (frob sb!di::handle-fun-end-breakpoint)
+ #!+sb-thread (frob sb!thread::run-interruption))
(cold-set 'sb!vm::*current-catch-block* (make-fixnum-descriptor 0))
(cold-set 'sb!vm::*current-unwind-protect-block* (make-fixnum-descriptor 0))
(dolist (line
'("This is a machine-generated file. Please do not edit it by hand."
"(As of sbcl-0.8.14, it came from WRITE-CONFIG-H in genesis.lisp.)"
- ""
+ nil
"This file contains low-level information about the"
"internals of a particular version and configuration"
"of SBCL. It is used by the C compiler to create a runtime"
"operating system's native format, which can then be used to"
"load and run 'core' files, which are basically programs"
"in SBCL's own format."))
- (format t " * ~A~%" line))
+ (format t " *~@[ ~A~]~%" line))
(format t " */~%"))
(defun write-config-h ()
((< value cutoff)
"~D")
(t
- "LISPOBJ(~D)")))
+ "LISPOBJ(~DU)")))
value)
(format t " /* 0x~X */~@[ /* ~A */~]~%" value doc))))
(terpri))
(defconstant build-id-core-entry-type-code 3899)
(defconstant new-directory-core-entry-type-code 3861)
(defconstant initial-fun-core-entry-type-code 3863)
+(defconstant page-table-core-entry-type-code 3880)
(defconstant end-core-entry-type-code 3840)
(declaim (ftype (function (sb!vm:word) sb!vm:word) write-word))