0.6.9.20:
[sbcl.git] / src / compiler / generic / genesis.lisp
index 89c51d8..28eb128 100644 (file)
@@ -6,13 +6,20 @@
 ;;;; As explained by Rob MacLachlan on the CMU CL mailing list Wed, 06
 ;;;; Jan 1999 11:05:02 -0500, this cold load generator more or less
 ;;;; fakes up static function linking. I.e. it makes sure that all the
-;;;; functions in the fasl files it reads are bound to the
+;;;; DEFUN-defined functions in the fasl files it reads are bound to the
 ;;;; corresponding symbols before execution starts. It doesn't do
 ;;;; anything to initialize variable values; instead it just arranges
 ;;;; for !COLD-INIT to be called at cold load time. !COLD-INIT is
 ;;;; responsible for explicitly initializing anything which has to be
 ;;;; initialized early before it transfers control to the ordinary
 ;;;; top-level forms.
+;;;;
+;;;; (In CMU CL, and in SBCL as of 0.6.9 anyway, functions not defined
+;;;; by DEFUN aren't set up specially by GENESIS. In particular,
+;;;; structure slot accessors are not set up. Slot accessors are
+;;;; available at cold init time because they're usually compiled
+;;;; inline. They're not available as out-of-line functions until the
+;;;; toplevel forms installing them have run.)
 
 ;;;; This software is part of the SBCL system. See the README file for
 ;;;; more information.
@@ -44,7 +51,9 @@
 ;;;
 ;;; 0: inherited from CMU CL
 ;;; 1: rearranged static symbols for sbcl-0.6.8
-(defconstant sbcl-core-version-integer 1)
+;;; 2: eliminated non-ANSI %DEFCONSTANT/%%DEFCONSTANT support,
+;;;    deleted a slot from DEBUG-SOURCE structure
+(defconstant sbcl-core-version-integer 2)
 
 (defun round-up (number size)
   #!+sb-doc
 (defvar *read-only*)
 (defconstant read-only-space-id 3)
 
-(eval-when (:compile-toplevel :execute :load-toplevel)
-  (defconstant descriptor-low-bits 16
-    "the number of bits in the low half of the descriptor")
-  (defconstant target-space-alignment (ash 1 descriptor-low-bits)
-    "the alignment requirement for spaces in the target.
-  Must be at least (ASH 1 DESCRIPTOR-LOW-BITS)"))
+(defconstant descriptor-low-bits 16
+  "the number of bits in the low half of the descriptor")
+(defconstant target-space-alignment (ash 1 descriptor-low-bits)
+  "the alignment requirement for spaces in the target.
+  Must be at least (ASH 1 DESCRIPTOR-LOW-BITS)")
 
 ;;; a GENESIS-time representation of a memory space (e.g. read-only space,
 ;;; dynamic space, or static space)