X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fparms.lisp;h=a73dc080a9a6c83c6d1f44920cc7a5bb07640c10;hb=20748f2dd7965dcd1446a1cb27e5a5af18a0e5bb;hp=62aa77a760ab2fa19f48be681092aea0d7bd88b4;hpb=dfa55a883f94470267b626dae77ce7e7dfac3df6;p=sbcl.git diff --git a/src/compiler/alpha/parms.lisp b/src/compiler/alpha/parms.lisp index 62aa77a..a73dc08 100644 --- a/src/compiler/alpha/parms.lisp +++ b/src/compiler/alpha/parms.lisp @@ -1,21 +1,29 @@ +;;;; This software is part of the SBCL system. See the README file for +;;;; more information. +;;;; +;;;; This software is derived from the CMU CL system, which was +;;;; written at Carnegie Mellon University and released into the +;;;; public domain. The software is in the public domain and is +;;;; provided with absolutely no warranty. See the COPYING and CREDITS +;;;; files for more information. (in-package "SB!VM") (eval-when (:compile-toplevel :load-toplevel :execute) -(defconstant word-bits 32 +(defconstant n-word-bits 32 #!+sb-doc "Number of bits per word where a word holds one lisp descriptor.") -(defconstant byte-bits 8 +(defconstant n-byte-bits 8 #!+sb-doc "Number of bits per byte where a byte is the smallest addressable object.") -(defconstant word-shift (1- (integer-length (/ word-bits byte-bits))) +(defconstant word-shift (1- (integer-length (/ n-word-bits n-byte-bits))) #!+sb-doc "Number of bits to shift between word addresses and byte addresses.") -(defconstant word-bytes (/ word-bits byte-bits) +(defconstant n-word-bytes (/ n-word-bits n-byte-bits) #!+sb-doc "Number of bytes in a word.") @@ -41,7 +49,7 @@ (+ (byte-size single-float-significand-byte) 1)) (defconstant double-float-digits - (+ (byte-size double-float-significand-byte) word-bits 1)) + (+ (byte-size double-float-significand-byte) n-word-bits 1)) ;; Values in 17f code seem to be same as HPPA. These values are from ;; DEC Assembly Language Programmers guide. The active bits are @@ -86,7 +94,7 @@ (defconstant static-space-start #x28000000) (defconstant static-space-end #x2c000000) - ;; this is used in purify as part of a sloppy check to see if a pointer + ;; 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 (defconstant dynamic-space-start #x30000000) @@ -123,10 +131,8 @@ ;;; the X86 port defines *nil-value* as (+ *target-static-space-start* #xB) ;;; here, but it seems to be the only port that needs to know the ;;; location of NIL from lisp. - - -;;;; Other random constants. +;;;; other miscellaneous constants (defenum (:suffix -trap :start 8) halt @@ -134,7 +140,7 @@ error cerror breakpoint - function-end-breakpoint + fun-end-breakpoint single-step-breakpoint) (defenum (:prefix trace-table-) @@ -142,10 +148,8 @@ call-site function-prologue function-epilogue) - - -;;;; Static symbols. +;;;; static symbols ;;; These symbols are loaded into static space directly after NIL so ;;; that the system can compute their address by adding a constant @@ -165,30 +169,27 @@ sb!impl::*!initial-fdefn-objects* ;; Functions that the C code needs to call - sb!impl::%initial-function - sb!impl::maybe-gc + maybe-gc sb!kernel::internal-error sb!di::handle-breakpoint - sb!di::handle-function-end-breakpoint - sb!impl::fdefinition-object + sb!di::handle-fun-end-breakpoint - ;; Free Pointers. + ;; free Pointers *read-only-space-free-pointer* *static-space-free-pointer* *initial-dynamic-space-free-pointer* - ;; Things needed for non-local-exit. - sb!impl::*current-catch-block* - sb!impl::*current-unwind-protect-block* - sb!c::*eval-stack-top* + ;; things needed for non-local exit + *current-catch-block* + *current-unwind-protect-block* + *eval-stack-top* - ;; Interrupt Handling - sb!impl::*free-interrupt-context-index* + ;; interrupt handling + *free-interrupt-context-index* sb!unix::*interrupts-enabled* - sb!unix::*interrupt-pending* - )) + sb!unix::*interrupt-pending*)) -(defparameter *static-functions* +(defparameter *static-funs* '(length sb!kernel:two-arg-+ sb!kernel:two-arg-- @@ -197,8 +198,12 @@ sb!kernel:two-arg-< sb!kernel:two-arg-> sb!kernel:two-arg-= - ;; Probably need the following as they are defined in arith.lisp - ;; two-arg-<= two-arg->= two-arg-/= + ;; FIXME: Is this + ;; probably need the following as they are defined in + ;; arith.lisp: two-arg-<= two-arg->= two-arg-/= + ;; a comment from old CMU CL or old old CMU CL or + ;; the SBCL alpha port or what? Do we need to worry about it, + ;; or can we delete it? eql sb!kernel:%negate sb!kernel:two-arg-and