From 600c07ca010e6b005fdf3415601ec429d7833aee Mon Sep 17 00:00:00 2001 From: William Harold Newman Date: Mon, 2 Oct 2000 21:45:09 +0000 Subject: [PATCH] preparing to move address space parameter settings to a single place --- NEWS | 12 +++++++++--- package-data-list.lisp-expr | 8 ++++---- src/compiler/generic/genesis.lisp | 8 ++++---- src/compiler/x86/parms.lisp | 16 ++++++++-------- version.lisp-expr | 2 +- 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/NEWS b/NEWS index 5b3fabf..bd06fa8 100644 --- a/NEWS +++ b/NEWS @@ -493,9 +493,6 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7: 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 @@ -514,3 +511,12 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7: 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. diff --git a/package-data-list.lisp-expr b/package-data-list.lisp-expr index 321664b..d69819e 100644 --- a/package-data-list.lisp-expr +++ b/package-data-list.lisp-expr @@ -1699,12 +1699,12 @@ structure representations" "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" diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp index 566ba54..6dfe6c4 100644 --- a/src/compiler/generic/genesis.lisp +++ b/src/compiler/generic/genesis.lisp @@ -2639,7 +2639,7 @@ ;; 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))))) @@ -2940,13 +2940,13 @@ initially undefined function references:~2%") (*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 diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp index f2938d8..82abe4d 100644 --- a/src/compiler/x86/parms.lisp +++ b/src/compiler/x86/parms.lisp @@ -125,24 +125,24 @@ ;;; 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)) ;;;; other miscellaneous constants diff --git a/version.lisp-expr b/version.lisp-expr index eae71cb..eea400b 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -15,4 +15,4 @@ ;;; 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" -- 1.7.10.4