0.9.3.41: gc trigger
[sbcl.git] / src / compiler / sparc / parms.lisp
index 666a84f..5abe8b8 100644 (file)
 (def!constant float-round-to-positive 2)
 (def!constant float-round-to-negative 3)
 
-(defconstant-eqx float-rounding-mode (byte 2 30) #'equalp)       ; RD 
-(defconstant-eqx float-sticky-bits (byte 5 5) #'equalp)          ; aexc
-(defconstant-eqx float-traps-byte (byte 5 23) #'equalp)          ; TEM
-(defconstant-eqx float-exceptions-byte (byte 5 0) #'equalp)      ; cexc
+(defconstant-eqx float-rounding-mode (byte 2 30) #'equalp)        ; RD
+(defconstant-eqx float-sticky-bits (byte 5 5) #'equalp)   ; aexc
+(defconstant-eqx float-traps-byte (byte 5 23) #'equalp)   ; TEM
+(defconstant-eqx float-exceptions-byte (byte 5 0) #'equalp)       ; cexc
 
 ;;; According to the SPARC doc (as opposed to FPU doc), the fast mode
 ;;; bit (EFM) is "reserved", and should always be zero.  However, for
 ;;; Where to put the different spaces.  Must match the C code!
 #!+linux
 (progn
-  (def!constant read-only-space-start #x10000000)
-  (def!constant read-only-space-end #x15000000)
+  (def!constant linkage-table-space-start #x0f800000)
+  (def!constant linkage-table-space-end   #x10000000)
 
-  (def!constant static-space-start    #x28000000)
-  (def!constant static-space-end #x2c000000)
+  (def!constant read-only-space-start     #x10000000)
+  (def!constant read-only-space-end       #x15000000)
 
-  ;; 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 static-space-start        #x28000000)
+  (def!constant static-space-end          #x2c000000)
 
-  (def!constant dynamic-0-space-start   #x30000000)
-  (def!constant dynamic-0-space-end     #x38000000)
-  
-  (def!constant dynamic-1-space-start   #x40000000)
-  (def!constant dynamic-1-space-end     #x48000000))
+  (def!constant dynamic-0-space-start #x30000000)
+  (def!constant dynamic-0-space-end   #x38000000)
+
+  (def!constant dynamic-1-space-start #x40000000)
+  (def!constant dynamic-1-space-end   #x48000000))
 
 #!+sunos ; might as well start by trying the same numbers
 (progn
-  (def!constant read-only-space-start #x10000000)
-  (def!constant read-only-space-end #x15000000)
-  
-  (def!constant static-space-start    #x28000000)
-  (def!constant static-space-end    #x2c000000)
+  (def!constant linkage-table-space-start #x0f800000)
+  (def!constant linkage-table-space-end   #x10000000)
+
+  (def!constant read-only-space-start     #x10000000)
+  (def!constant read-only-space-end       #x15000000)
+
+  (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)
 
-  (def!constant dynamic-0-space-start   #x30000000)
-  (def!constant dynamic-0-space-end     #x38000000)
-  
-  (def!constant dynamic-1-space-start   #x40000000)
-  (def!constant dynamic-1-space-end     #x48000000))  
+  (def!constant dynamic-1-space-start     #x40000000)
+  (def!constant dynamic-1-space-end       #x48000000))
+
+;; Size of one linkage-table entry in bytes. See comment in
+;; src/runtime/sparc-arch.c
+(def!constant linkage-table-entry-size 16)
 
 \f
 ;;;; other random constants.
     sub-gc
     sb!kernel::internal-error
     sb!kernel::control-stack-exhausted-error
+    sb!kernel::undefined-alien-variable-error
+    sb!kernel::undefined-alien-function-error
     sb!di::handle-breakpoint
     sb!di::handle-fun-end-breakpoint
 
     *binding-stack-start*
     *control-stack-start*
     *control-stack-end*
-    
+
     ;; interrupt handling
     *free-interrupt-context-index*
     sb!unix::*interrupts-enabled*
     sb!unix::*interrupt-pending*
-    ))
+    *gc-inhibit*
+    *gc-pending*))
 
 (defparameter *static-funs*
   '(length