X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fparms.lisp;h=9fbee3ca4a51a366ca093748219bc74a12f24f57;hb=b63c4fb9b98fa8188e17ba926e150ba417a74635;hp=267f272edce27bde145522ddad48155cc219d717;hpb=1e4629723d19f96d752235ffde34fe58431431ae;p=sbcl.git diff --git a/src/compiler/alpha/parms.lisp b/src/compiler/alpha/parms.lisp index 267f272..9fbee3c 100644 --- a/src/compiler/alpha/parms.lisp +++ b/src/compiler/alpha/parms.lisp @@ -11,21 +11,16 @@ (eval-when (:compile-toplevel :load-toplevel :execute) -(def!constant n-word-bits 32 - #!+sb-doc - "Number of bits per word where a word holds one lisp descriptor.") +;;; number of bits per word where a word holds one lisp descriptor +(def!constant n-word-bits 32) -(def!constant n-byte-bits 8 - #!+sb-doc - "Number of bits per byte where a byte is the smallest addressable object.") +;;; 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 word-shift (1- (integer-length (/ n-word-bits n-byte-bits))) - #!+sb-doc - "Number of bits to shift between word addresses and byte addresses.") - -(def!constant n-word-bytes (/ n-word-bits n-byte-bits) - #!+sb-doc - "Number of bytes in a word.") +;;; number of bits per byte where a byte is the smallest addressable +;;; object +(def!constant n-byte-bits 8) (def!constant float-sign-shift 31) @@ -139,13 +134,6 @@ (def!constant dynamic-1-space-start #x40000000) (def!constant dynamic-1-space-end #x4fff0000) -(def!constant control-stack-start #x50000000) -(def!constant control-stack-end #x51000000) - -(def!constant binding-stack-start #x70000000) -(def!constant binding-stack-end #x71000000) - - ;;; FIXME nothing refers to either of these in alpha or x86 cmucl ;;; backend, so they could probably be removed. @@ -191,17 +179,17 @@ ;; 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!kernel::undefined-alien-variable-error + sb!kernel::undefined-alien-function-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 +198,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 +227,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))