(defconstant-eqx float-traps-byte (byte 5 7) #'equalp)
(defconstant-eqx float-exceptions-byte (byte 5 12) #'equalp)
(defconstant-eqx float-condition-bit (ash 1 23) #'equalp)
-(def!constant float-fast-bit 0) ; No fast mode on PMAX.
+(def!constant float-fast-bit 0) ; No fast mode on PMAX.
\f
;;;; Description of the target address space.
-;;; Where to put the different spaces.
-;;;
-(def!constant read-only-space-start #x01000000)
-(def!constant read-only-space-end #x05000000)
+#!+irix
+(progn
+ ;; Where to put the different spaces.
+ ;; Old definitions, might be still relevant for an IRIX port.
+ ;;
+ (def!constant read-only-space-start #x01000000)
+ (def!constant read-only-space-end #x05000000)
+
+ (def!constant static-space-start #x06000000)
+ (def!constant static-space-end #x08000000)
+
+ (def!constant dynamic-0-space-start #x08000000)
+ (def!constant dynamic-0-space-end #x0c000000)
+ (def!constant dynamic-1-space-start #x0c000000)
+ (def!constant dynamic-1-space-end #x10000000))
+
+#!+linux
+(progn
+ ;; Where to put the address spaces on Linux.
+ ;;
+ ;; C runtime executable segment starts at 0x00400000
+ (def!constant read-only-space-start #x01000000)
+ (def!constant read-only-space-end #x08000000)
+
+ (def!constant static-space-start #x08000000)
+ (def!constant static-space-end #x10000000)
+ ;; C runtime read/write segment starts at 0x10000000, heap and DSOs
+ ;; start at 0x2a000000
+ (def!constant dynamic-0-space-start #x30000000)
+ (def!constant dynamic-0-space-end #x50000000)
+ (def!constant dynamic-1-space-start #x50000000)
+ (def!constant dynamic-1-space-end #x70000000)
+
+ (def!constant linkage-table-space-start #x70000000)
+ (def!constant linkage-table-space-end #x71000000)
+ (def!constant linkage-table-entry-size 16)
+
+ ;; C stack grows downward from 0x80000000
+ )
-(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 dynamic-1-space-end #x10000000)
\f
;;;; Other non-type constants.
cerror
breakpoint
fun-end-breakpoint
- after-breakpoint)
+ after-breakpoint
+ unused
+ pseudo-atomic
+ object-not-list
+ object-not-instance)
(defenum (:prefix trace-table-)
normal
*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*
- '(sb!kernel:two-arg-+
- sb!kernel:two-arg--
- sb!kernel:two-arg-*
- sb!kernel:two-arg-/
- sb!kernel:two-arg-<
- sb!kernel:two-arg->
+ '(sb!kernel:two-arg-+
+ sb!kernel:two-arg--
+ sb!kernel:two-arg-*
+ sb!kernel:two-arg-/
+ sb!kernel:two-arg-<
+ sb!kernel:two-arg->
sb!kernel:two-arg-=
- sb!kernel:two-arg-<=
- sb!kernel:two-arg->=
- sb!kernel:two-arg-/=
- eql
+ sb!kernel:two-arg-<=
+ sb!kernel:two-arg->=
+ sb!kernel:two-arg-/=
+ eql
sb!kernel:%negate
- sb!kernel:two-arg-and
- sb!kernel:two-arg-ior
+ sb!kernel:two-arg-and
+ sb!kernel:two-arg-ior
sb!kernel:two-arg-xor
- length
- sb!kernel:two-arg-gcd
+ length
+ sb!kernel:two-arg-gcd
sb!kernel:two-arg-lcm))