From: William Harold Newman Date: Thu, 19 Oct 2000 15:41:08 +0000 (+0000) Subject: 0.6.7.16: spaces defined as X-START and X-END (not X_START and X_SIZE) X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=10818ee6db49b075698b45296825fc79f64c93e3;p=sbcl.git 0.6.7.16: spaces defined as X-START and X-END (not X_START and X_SIZE) --- diff --git a/NEWS b/NEWS index 95dbaf2..262766d 100644 --- a/NEWS +++ b/NEWS @@ -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. @@ -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. diff --git a/package-data-list.lisp-expr b/package-data-list.lisp-expr index 6d7d1a5..bd380bb 100644 --- a/package-data-list.lisp-expr +++ b/package-data-list.lisp-expr @@ -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" diff --git a/src/code/early-impl.lisp b/src/code/early-impl.lisp index 87a1506..481a29a 100644 --- a/src/code/early-impl.lisp +++ b/src/code/early-impl.lisp @@ -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*)) diff --git a/src/code/gc.lisp b/src/code/gc.lisp index a2ad5f5..b228fb8 100644 --- a/src/code/gc.lisp +++ b/src/code/gc.lisp @@ -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 diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp index 9a65bfc..d4cda72 100644 --- a/src/compiler/x86/parms.lisp +++ b/src/compiler/x86/parms.lisp @@ -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: @@ -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.. diff --git a/src/runtime/x86-validate.h b/src/runtime/x86-validate.h index b86cd82..47b00aa 100644 --- a/src/runtime/x86-validate.h +++ b/src/runtime/x86-validate.h @@ -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) diff --git a/version.lisp-expr b/version.lisp-expr index 06c680e..2416552 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.15" +"0.6.7.16"