From f3783ae14bde14c5aefd3d9383d89379defcb00f Mon Sep 17 00:00:00 2001 From: William Harold Newman Date: Sat, 7 Oct 2000 15:00:13 +0000 Subject: [PATCH] a step along the way to setting address space parameters in just one place --- src/compiler/generic/genesis.lisp | 6 +++--- src/compiler/x86/alloc.lisp | 4 ++-- src/compiler/x86/parms.lisp | 11 ++++++++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp index 6dfe6c4..277f0c6 100644 --- a/src/compiler/generic/genesis.lisp +++ b/src/compiler/generic/genesis.lisp @@ -3028,11 +3028,11 @@ initially undefined function references:~2%") (finalize-load-time-value-noise) ;; Tell the target Lisp how much stuff we've allocated. - (cold-set '*read-only-space-free-pointer* + (cold-set 'sb!vm:*read-only-space-free-pointer* (allocate-descriptor *read-only* 0 sb!vm:even-fixnum-type)) - (cold-set '*static-space-free-pointer* + (cold-set 'sb!vm:*static-space-free-pointer* (allocate-descriptor *static* 0 sb!vm:even-fixnum-type)) - (cold-set '*initial-dynamic-space-free-pointer* + (cold-set 'sb!vm:*initial-dynamic-space-free-pointer* (allocate-descriptor *dynamic* 0 sb!vm:even-fixnum-type)) (/show "done setting free pointers") diff --git a/src/compiler/x86/alloc.lisp b/src/compiler/x86/alloc.lisp index 8e01287..11c4d78 100644 --- a/src/compiler/x86/alloc.lisp +++ b/src/compiler/x86/alloc.lisp @@ -101,11 +101,11 @@ ;; -- WHN 19990916 ;; ;; FIXME: should have a check for overflow of static space - (load-symbol-value temp sb!impl::*static-space-free-pointer*) + (load-symbol-value temp sb!vm:*static-space-free-pointer*) (inst lea result (make-ea :byte :base temp :disp other-pointer-type)) (inst add temp boxed) (inst add temp unboxed) - (store-symbol-value temp sb!impl::*static-space-free-pointer*) + (store-symbol-value temp sb!vm:*static-space-free-pointer*) (inst shl boxed (- type-bits word-shift)) (inst or boxed code-header-type) (storew boxed result 0 other-pointer-type) diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp index 82abe4d..7da5ea4 100644 --- a/src/compiler/x86/parms.lisp +++ b/src/compiler/x86/parms.lisp @@ -208,9 +208,14 @@ sb!impl::fdefinition-object ;; free pointers - sb!impl::*read-only-space-free-pointer* - sb!impl::*static-space-free-pointer* - sb!impl::*initial-dynamic-space-free-pointer* + ;; + ;; Note that these are FIXNUM word counts, not (as one might + ;; expect) byte counts or SAPs. The reason seems to be that by + ;; representing them this way, we can avoid consing bignums. + ;; -- WHN 2000-10-02 + *read-only-space-free-pointer* + *static-space-free-pointer* + *initial-dynamic-space-free-pointer* ;; things needed for non-local exit sb!impl::*current-catch-block* -- 1.7.10.4