changes in sbcl-0.9.2 relative to sbcl-0.9.1:
+ * dynamic space size on PPC has been increased to 768Mb. (thanks to
+ Cyrus Harmon)
* SB-MOP:ENSURE-CLASS-USING-CLASS now accepts a class as the
:METACLASS argument in addition to a class name. (reported by
Bruno Haible for CMUCL, patch for CMUCL by Gerd Moellman)
(< sb!vm:static-space-start val
(* sb!vm:*static-space-free-pointer*
sb!vm:n-word-bytes))
- (< sb!vm:dynamic-space-start val
+ (< (current-dynamic-space-start) val
(sap-int (dynamic-space-free-pointer))))))
(make-lisp-obj val)
:invalid-object))
sb!vm:*static-space-free-pointer*))
(eval-when (:compile-toplevel :execute)
- (sb!xc:defmacro def-c-var-frob (lisp-fun c-var-name)
- `(progn
- #!-sb-fluid (declaim (inline ,lisp-fun))
- (defun ,lisp-fun ()
- (sb!alien:extern-alien ,c-var-name (sb!alien:unsigned 32))))))
+ (sb!xc:defmacro def-c-var-fun (lisp-fun c-var-name)
+ `(defun ,lisp-fun ()
+ (sb!alien:extern-alien ,c-var-name (sb!alien:unsigned 32)))))
+#!-sb-fluid
+(declaim (inline current-dynamic-space-start))
+#!+gencgc
+(defun current-dynamic-space-spart () sb!vm:dynamic-space-start)
#!-gencgc
-(progn
- ;; This is called once per PROFILEd function call, so it's worth a
- ;; little possible space cost to reduce its time cost.
- #!-sb-fluid
- (declaim (inline current-dynamic-space-start))
- (def-c-var-frob current-dynamic-space-start "current_dynamic_space"))
+(def-c-var-fun current-dynamic-space-start "current_dynamic_space")
#!-sb-fluid
-(declaim (inline dynamic-usage)) ; to reduce PROFILEd call overhead
+(declaim (inline dynamic-usage))
#!+gencgc
-(def-c-var-frob dynamic-usage "bytes_allocated")
+(def-c-var-fun dynamic-usage "bytes_allocated")
#!-gencgc
(defun dynamic-usage ()
(the (unsigned-byte 32)
(values (int-sap read-only-space-start)
(int-sap (* *read-only-space-free-pointer* n-word-bytes))))
(:dynamic
- (values (int-sap #!+gencgc dynamic-space-start
- #!-gencgc (current-dynamic-space-start))
+ (values (int-sap (current-dynamic-space-start))
(dynamic-space-free-pointer)))))
;;; Return the total number of bytes used in SPACE.
(def!constant static-space-start #x28000000)
(def!constant static-space-end #x2c000000)
-;; this is used in PURIFY as part of a sloppy check to see if a pointer
-;; is in dynamic space. Chocolate brownie for the first person to fix it
-;; -dan 20010502
-(def!constant dynamic-space-start #x30000000)
-(def!constant dynamic-space-end #x3fff0000)
-
(def!constant dynamic-0-space-start #x30000000)
(def!constant dynamic-0-space-end #x3fff0000)
(def!constant static-space-start #x28000000)
(def!constant static-space-end #x2a000000)
-(def!constant dynamic-space-start #x30000000)
-(def!constant dynamic-space-end #x37fff000)
-
(def!constant dynamic-0-space-start #x30000000)
(def!constant dynamic-0-space-end #x37fff000)
(def!constant dynamic-1-space-start #x38000000)
(def!constant static-space-start #x06000000)
(def!constant static-space-end #x08000000)
-(def!constant dynamic-space-start #x08000000)
-(def!constant dynamic-space-end #x0c000000)
-
(def!constant dynamic-0-space-start #x08000000)
(def!constant dynamic-0-space-end #x0c000000)
(def!constant dynamic-1-space-start #x0c000000)
(def!constant static-space-start #x08000000)
(def!constant static-space-end #x097fff00)
-;;; FIXME: this is a gross violation of OAOO, done purely to support
-;;; the #define of DYNAMIC_SPACE_SIZE in validate.c -- CSR, 2002-02-25
-;;; (these numbers should match dynamic-0-*)
-(def!constant dynamic-space-start #x40000000)
-(def!constant dynamic-space-end #x47fff000)
-
;;; nothing _seems_ to be using these addresses
-(def!constant dynamic-0-space-start #x40000000)
-(def!constant dynamic-0-space-end #x47fff000)
-(def!constant dynamic-1-space-start #x48000000)
-(def!constant dynamic-1-space-end #x4ffff000)
+(def!constant dynamic-0-space-start #x10000000)
+(def!constant dynamic-0-space-end #x3ffff000)
+(def!constant dynamic-1-space-start #x40000000)
+(def!constant dynamic-1-space-end #x6ffff000)
#!+darwin
(progn
- (def!constant linkage-table-space-start #x50000000)
- (def!constant linkage-table-space-end #x51000000)
+ (def!constant linkage-table-space-start #x0a000000)
+ (def!constant linkage-table-space-end #x0b000000)
(def!constant linkage-table-entry-size 16))
\f
;;;; Other miscellaneous constants.
(def!constant static-space-start #x28000000)
(def!constant static-space-end #x2c000000)
- ;; From alpha/parms.lisp:
- ;; this is used in PURIFY as part of a sloppy check to see if a pointer
- ;; is in dynamic space. Chocolate brownie for the first person to fix it
- ;; -dan 20010502
- (def!constant dynamic-space-start #x30000000)
- (def!constant dynamic-space-end #x38000000)
-
(def!constant dynamic-0-space-start #x30000000)
(def!constant dynamic-0-space-end #x38000000)
(def!constant static-space-start #x28000000)
(def!constant static-space-end #x2c000000)
- (def!constant dynamic-space-start #x30000000)
- (def!constant dynamic-space-end #x38000000)
-
(def!constant dynamic-0-space-start #x30000000)
(def!constant dynamic-0-space-end #x38000000)
#if defined LISP_FEATURE_GENCGC
|| (DYNAMIC_SPACE_START <= ad && ad < DYNAMIC_SPACE_END)
#else
- || (DYNAMIC_0_SPACE_START <= ad && ad < DYNAMIC_SPACE_END)
- || (DYNAMIC_1_SPACE_START <= ad && ad < DYNAMIC_SPACE_END)
+ || (DYNAMIC_0_SPACE_START <= ad && ad < DYNAMIC_0_SPACE_END)
+ || (DYNAMIC_1_SPACE_START <= ad && ad < DYNAMIC_1_SPACE_END)
#endif
)
return 1;
#if !defined(_INCLUDE_VALIDATE_H_)
#define _INCLUDE_VALIDATE_H_
-/* constants derived from the fundamental constants in passed by GENESIS */
-#define BINDING_STACK_SIZE (1024*1024) /* chosen at random */
-#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)
-#define THREAD_CONTROL_STACK_SIZE (2*1024*1024) /* eventually this'll be choosable per-thread */
+#ifndef LISP_FEATURE_GENCGC
+#define DYNAMIC_SPACE_START current_dynamic_space
+#endif
+
+#define BINDING_STACK_SIZE (1024*1024) /* chosen at random */
+#define THREAD_CONTROL_STACK_SIZE (2*1024*1024) /* eventually choosable per-thread */
+/* constants derived from the fundamental constants in passed by GENESIS */
+#ifdef LISP_FEATURE_GENCGC
+#define DYNAMIC_SPACE_SIZE (DYNAMIC_SPACE_END - DYNAMIC_SPACE_START)
+#else
+#define DYNAMIC_SPACE_SIZE (DYNAMIC_0_SPACE_END - DYNAMIC_0_SPACE_START)
+#endif
+#define READ_ONLY_SPACE_SIZE (READ_ONLY_SPACE_END - READ_ONLY_SPACE_START)
+#define STATIC_SPACE_SIZE (STATIC_SPACE_END - STATIC_SPACE_START)
#ifdef LISP_FEATURE_LINKAGE_TABLE
#define LINKAGE_TABLE_SPACE_SIZE (LINKAGE_TABLE_SPACE_END - LINKAGE_TABLE_SPACE_START)
#endif
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.1.4"
+"0.9.1.5"