X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Fparms.lisp;h=0575d5bd4c6f8f0096b41e7acaf4f366e4dc8e31;hb=bc1783335d78be988465e4fc7cf9c5fdb88a3fa4;hp=05e35bcfe725959a46ac9b4b1ebe3da5a615c473;hpb=986a59ccc87c71f1028b5b1419bd7dc799334cc3;p=sbcl.git diff --git a/src/compiler/mips/parms.lisp b/src/compiler/mips/parms.lisp index 05e35bc..0575d5b 100644 --- a/src/compiler/mips/parms.lisp +++ b/src/compiler/mips/parms.lisp @@ -52,23 +52,46 @@ (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. ;;;; 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) + ;; C stack grows downward from 0x80000000 + ) -(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) ;;;; Other non-type constants. @@ -127,7 +150,7 @@ *binding-stack-start* *control-stack-start* *control-stack-end* - + ;; Interrupt Handling *free-interrupt-context-index* sb!unix::*interrupts-enabled* @@ -135,21 +158,21 @@ )) (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))