X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fparms.lisp;h=b13e2debd3f93f49ba68ee0eb45a27d2a2cf5adb;hb=f8893c7c658bf9d9e0757c63e47af2fdea810f04;hp=872102deb775dd75752256277e689ca597f4af7d;hpb=8731c1a7c1a585d190151fa881050fb5e14c0616;p=sbcl.git diff --git a/src/compiler/alpha/parms.lisp b/src/compiler/alpha/parms.lisp index 872102d..b13e2de 100644 --- a/src/compiler/alpha/parms.lisp +++ b/src/compiler/alpha/parms.lisp @@ -15,6 +15,10 @@ #!+sb-doc "Number of bits per word where a word holds one lisp descriptor.") +;;; the natural width of a machine word (as seen in e.g. register width, +;;; address space) +(def!constant n-machine-word-bits 64) + (def!constant n-byte-bits 8 #!+sb-doc "Number of bits per byte where a byte is the smallest addressable object.") @@ -116,35 +120,28 @@ #!+linux (progn (def!constant read-only-space-start #x20000000) - (def!constant read-only-space-end #x24000000) + (def!constant read-only-space-end #x24000000)) - (def!constant static-space-start #x28000000) - (def!constant static-space-end #x2c000000) +#!+osf1 +(progn + (defconstant read-only-space-start #x10000000) + (defconstant read-only-space-end #x25000000)) - ;; 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 dynamic-1-space-start #x40000000) - (def!constant dynamic-1-space-end #x4fff0000) +(def!constant static-space-start #x28000000) +(def!constant static-space-end #x2c000000) - (def!constant control-stack-start #x50000000) - (def!constant control-stack-end #x51000000) +;; 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 binding-stack-start #x70000000) - (def!constant binding-stack-end #x71000000)) - -#!+osf1 ;as if -(progn - (defparameter read-only-space-start #x10000000) - (defparameter static-space-start #x28000000) - (defparameter dynamic-space-start #x30000000)) +(def!constant dynamic-0-space-start #x30000000) +(def!constant dynamic-0-space-end #x3fff0000) +(def!constant dynamic-1-space-start #x40000000) +(def!constant dynamic-1-space-end #x4fff0000) ;;; FIXME nothing refers to either of these in alpha or x86 cmucl ;;; backend, so they could probably be removed. @@ -191,17 +188,15 @@ ;; The C startup code must fill these in. *posix-argv* - ;;lisp::lisp-environment-list - ;;lisp::lisp-command-line-list - sb!impl::*!initial-fdefn-objects* - ;; Functions that the C code needs to call - maybe-gc + ;; functions that the C code needs to call + sub-gc sb!kernel::internal-error + sb!kernel::control-stack-exhausted-error sb!di::handle-breakpoint sb!di::handle-fun-end-breakpoint - ;; free Pointers + ;; free pointers *read-only-space-free-pointer* *static-space-free-pointer* *initial-dynamic-space-free-pointer* @@ -210,6 +205,10 @@ *current-catch-block* *current-unwind-protect-block* + *binding-stack-start* + *control-stack-start* + *control-stack-end* + ;; interrupt handling *free-interrupt-context-index* sb!unix::*interrupts-enabled* @@ -235,5 +234,6 @@ sb!kernel:two-arg-and sb!kernel:two-arg-ior sb!kernel:two-arg-xor + sb!kernel:two-arg-eqv sb!kernel:two-arg-gcd sb!kernel:two-arg-lcm))