have been added.
* Raymond Wiker's patches to port dynamic loading from Linux to
FreeBSD have been added.
-?? $Header$ and other CVS tags have been removed from the sources,
- because they have never saved me trouble and they've been a
- nuisance working with patches and other diff-related operations.
?? The debugger now flushes standard output streams before it begins
its output ("debugger invoked" and so forth).
?? FINISH-OUTPUT now works better than it did before. (It used to
get confused after a Ctrl-C interrupt under ILISP, has been fixed.
?? added enough DEFTRANSFORMs to allow (SXHASH 'FOO) to be optimized
away by constant folding
+?? The system now defines its address space constants in one place
+ (in the Lisp sources), and propagates them automatically elsewhere
+ (through GENESIS and the sbcl.h file). Therefore, patching the
+ address map is less unnecessarily tedious and error-prone. The
+ Lisp names of address space constants have also been systematized.
+?? dollar-Header-dollar and other CVS magic tags have been removed
+ from the sources, because they have never saved me trouble and
+ they've been a nuisance working with patches and other
+ diff-related operations.
"SYMBOL-PACKAGE-SLOT" "SYMBOL-PLIST-SLOT"
"SYMBOL-RAW-FUNCTION-ADDR-SLOT" "SYMBOL-SETF-FUNCTION-SLOT"
"SYMBOL-SIZE" "SYMBOL-UNUSED-SLOT" "SYMBOL-VALUE-SLOT"
- "TARGET-BINDING-STACK-START" "TARGET-BYTE-ORDER"
- "TARGET-CONTROL-STACK-START" "*TARGET-DYNAMIC-SPACE-START*"
+ "*BINDING-STACK-START*" "TARGET-BYTE-ORDER"
+ "*CONTROL-STACK-START*" "*DYNAMIC-SPACE-START*"
"TARGET-FASL-CODE-FORMAT" "TARGET-FASL-FILE-TYPE"
"TARGET-HEAP-ADDRESS-SPACE" "*TARGET-MOST-NEGATIVE-FIXNUM*"
- "*TARGET-MOST-POSITIVE-FIXNUM*" "*TARGET-READ-ONLY-SPACE-START*"
- "*TARGET-STATIC-SPACE-START*" "TRACE-TABLE-CALL-SITE"
+ "*TARGET-MOST-POSITIVE-FIXNUM*" "*READ-ONLY-SPACE-START*"
+ "*STATIC-SPACE-START*" "TRACE-TABLE-CALL-SITE"
"TRACE-TABLE-FUNCTION-EPILOGUE" "TRACE-TABLE-FUNCTION-PROLOGUE"
"TRACE-TABLE-NORMAL" "TYPE-BITS" "TYPE-MASK" "UNBOUND-MARKER-TYPE"
"UNSIGNED-IMMEDIATE-SC-NUMBER"
;; We actually ran GENESIS, use the real value.
(descriptor-bits (cold-intern symbol))
;; We didn't run GENESIS, so guess at the address.
- (+ sb!vm:*target-static-space-start*
+ (+ sb!vm:*static-space-start*
sb!vm:word-bytes
sb!vm:other-pointer-type
(if symbol (sb!vm:static-symbol-offset symbol) 0)))))
(*cold-package-symbols* nil)
(*read-only* (make-gspace :read-only
read-only-space-id
- sb!vm:*target-read-only-space-start*))
+ sb!vm:*read-only-space-start*))
(*static* (make-gspace :static
static-space-id
- sb!vm:*target-static-space-start*))
+ sb!vm:*static-space-start*))
(*dynamic* (make-gspace :dynamic
dynamic-space-id
- sb!vm:*target-dynamic-space-start*))
+ sb!vm:*dynamic-space-start*))
(*nil-descriptor* (make-nil-descriptor))
(*current-reversed-cold-toplevels* *nil-descriptor*)
(*unbound-marker* (make-other-immediate-descriptor
;;; Note: Mostly these values are black magic, inherited from CMU CL
;;; without any documentation. However, there have been a few changes
;;; since the fork:
-;;; * The FreeBSD *TARGET-STATIC-SPACE-START* value was bumped up
+;;; * The FreeBSD *STATIC-SPACE-START* value was bumped up
;;; from #x28000000 to #x30000000 when FreeBSD ld.so dynamic linking
;;; support was added for FreeBSD ca. 20000910. This was to keep from
;;; stomping on an address range that the dynamic libraries want to use.
;;; (They want to use this address range even if we try to reserve it
;;; with a call to validate() as the first operation in main().)
-#!-linux (defparameter *target-read-only-space-start* #x10000000)
-#!-linux (defparameter *target-static-space-start*
+#!-linux (defparameter *read-only-space-start* #x10000000)
+#!-linux (defparameter *static-space-start*
#!+freebsd #x30000000
#!+openbsd #x28000000)
-#!-linux (defparameter *target-dynamic-space-start* #x48000000)
-#!+linux (defparameter *target-read-only-space-start* #x01000000)
-#!+linux (defparameter *target-static-space-start* #x05000000)
-#!+linux (defparameter *target-dynamic-space-start* #x09000000)
+#!-linux (defparameter *dynamic-space-start* #x48000000)
+#!+linux (defparameter *read-only-space-start* #x01000000)
+#!+linux (defparameter *static-space-start* #x05000000)
+#!+linux (defparameter *dynamic-space-start* #x09000000)
;;; Given that NIL is the first thing allocated in static space, we
;;; know its value at compile time:
-(defparameter *nil-value* (+ *target-static-space-start* #xb))
+(defparameter *nil-value* (+ *static-space-start* #xb))
\f
;;;; other miscellaneous constants
;;; versions, and a string a la "0.6.5.12" is used for versions which
;;; aren't released but correspond only to CVS tags or snapshots.
-"0.6.7.7"
+"0.6.7.8"