Skip to content

Commit

Permalink
0.6.7.16: spaces defined as X-START and X-END (not X_START and X_SIZE)
Browse files Browse the repository at this point in the history
  • Loading branch information
William Harold Newman committed Oct 19, 2000
1 parent 5f338d3 commit 10818ee
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 46 deletions.
11 changes: 7 additions & 4 deletions NEWS
Expand Up @@ -497,6 +497,9 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7:
to Martin Atzmueller's review of it.
* The debugger now flushes standard output streams before it begins
its output ("debugger invoked" and so forth).
?? The core version number and fasl file version number have both
been incremented, because of incompatible changes in the layout
of static symbols.
?? FINISH-OUTPUT now works better than it did before. (It used to
have trouble with characters which weren't followed by a linefeed.)
?? Remember to remove this from BUGS.
Expand All @@ -513,12 +516,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
* 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
?? CVS tags like dollar-Header-dollar have been removed from
the sources, because they have never saved me trouble and
they've been source of trouble working with patches and other
diff-related operations.
12 changes: 8 additions & 4 deletions package-data-list.lisp-expr
Expand Up @@ -1688,12 +1688,16 @@ 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"
"BINDING-STACK-START" "TARGET-BYTE-ORDER"
"CONTROL-STACK-START" "CONTROL-STACK-END" "DYNAMIC-SPACE-START"
"BINDING-STACK-START" "BINDING-STACK-END"
"CONTROL-STACK-START" "CONTROL-STACK-END"
"DYNAMIC-SPACE-START" "DYNAMIC-SPACE-END"
"READ-ONLY-SPACE-START" "READ-ONLY-SPACE-END"
"TARGET-BYTE-ORDER"
"TARGET-FASL-CODE-FORMAT" "TARGET-FASL-FILE-TYPE"
"TARGET-HEAP-ADDRESS-SPACE" "*TARGET-MOST-NEGATIVE-FIXNUM*"
"*TARGET-MOST-POSITIVE-FIXNUM*" "READ-ONLY-SPACE-START"
"STATIC-SPACE-START" "TRACE-TABLE-CALL-SITE"
"*TARGET-MOST-POSITIVE-FIXNUM*"
"STATIC-SPACE-START" "STATIC-SPACE-END"
"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"
Expand Down
1 change: 0 additions & 1 deletion src/code/early-impl.lisp
Expand Up @@ -45,7 +45,6 @@
sb!vm::*fp-constant-lg2*
sb!vm::*fp-constant-ln2*
sb!vm::*scavenge-read-only-space*
sb!vm::*control-stacks*
sb!pcl::..slot-unbound..
sb!vm::*x86-cgc-active-p*
sb!vm::*static-blue-bag*))
2 changes: 1 addition & 1 deletion src/code/gc.lisp
Expand Up @@ -45,7 +45,7 @@

(defun binding-stack-usage ()
(- (sb!sys:sap-int (sb!c::binding-stack-pointer-sap))
(sb!vm:binding-stack-start)))
sb!vm:binding-stack-start))

;;;; ROOM

Expand Down
23 changes: 17 additions & 6 deletions src/compiler/x86/parms.lisp
Expand Up @@ -139,30 +139,44 @@
;;; 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
(progn

(defconstant read-only-space-start #x01000000)
(defconstant read-only-space-end #x037ff000)

(defconstant static-space-start #x05000000)
(defconstant static-space-end #x07fff000)

(defconstant dynamic-space-start #x09000000)
(defconstant dynamic-space-end #x29000000)

(defconstant control-stack-start #x50000000)
(defconstant control-stack-end #x57fff000))
(defconstant control-stack-end #x57fff000)

(defconstant binding-stack-start #x60000000)
(defconstant binding-stack-end #x67fff000))

#!+bsd
(progn

(defconstant read-only-space-start #x10000000)
(defconstant read-only-space-end #x1ffff000)

(defconstant static-space-start
#!+freebsd #x30000000
#!+openbsd #x28000000)
(defconstant static-space-end #x37fff000)

(defconstant binding-stack-start #x38000000)
(defconstant binding-stack-end #x3ffff000)

(defconstant control-stack-start #x40000000)
(defconstant control-stack-end #x07fff000)
(defconstant control-stack-end #x47fff000)

(defconstant dynamic-space-start #x48000000))
(defconstant dynamic-space-start #x48000000)
(defconstant dynamic-space-end #x88000000))

;;; Given that NIL is the first thing allocated in static space, we
;;; know its value at compile time:
Expand Down Expand Up @@ -275,9 +289,6 @@
;; used by gencgc
sb!vm::*scavenge-read-only-space*

;; multi-process support
sb!vm::*control-stacks*

;; The ..SLOT-UNBOUND.. symbol is static in order to optimise the
;; common slot unbound check.
sb!pcl::..slot-unbound..
Expand Down
34 changes: 5 additions & 29 deletions src/runtime/x86-validate.h
Expand Up @@ -12,33 +12,9 @@
/*
* $Header$
*/

#if defined(__FreeBSD__) || defined(__OpenBSD__)
#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */

#if defined __FreeBSD__
#define STATIC_SPACE_SIZE (0x07fff000) /* 128M - 1 page */
#elif defined __OpenBSD__
#define STATIC_SPACE_SIZE (0x0ffff000) /* 256M - 1 page */
#else
#error unsupported BSD variant
#endif

#define BINDING_STACK_START (0x38000000)
#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */

#define DYNAMIC_SPACE_SIZE (0x40000000) /* may be up to 2GB */
#endif

#ifdef __linux__
#define READ_ONLY_SPACE_SIZE (0x02800000) /* 40MB */

#define STATIC_SPACE_SIZE (0x02fff000) /* 48MB - 1 page */

#define BINDING_STACK_START (0x60000000)
#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */

#define DYNAMIC_SPACE_SIZE (0x20000000) /* 512MB */
#endif

#define CONTROL_STACK_SIZE (CONTROL_STACK_END - CONTROL_STACK_START)
#define BINDING_STACK_SIZE ( BINDING_STACK_END - BINDING_STACK_START)
#define CONTROL_STACK_SIZE ( CONTROL_STACK_END - CONTROL_STACK_START)
#define DYNAMIC_SPACE_SIZE ( DYNAMIC_SPACE_END - DYNAMIC_SPACE_START)
#define READ_ONLY_SPACE_SIZE (READ_ONLY_SPACE_END - READ_ONLY_SPACE_START)
#define STATIC_SPACE_SIZE ( STATIC_SPACE_END - STATIC_SPACE_START)
2 changes: 1 addition & 1 deletion version.lisp-expr
Expand Up @@ -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.15"
"0.6.7.16"

0 comments on commit 10818ee

Please sign in to comment.