+;;;; 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.")
(+ (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
(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)
;;; 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.
-
-
\f
-;;;; Other random constants.
+;;;; other miscellaneous constants
(defenum (:suffix -trap :start 8)
halt
error
cerror
breakpoint
- function-end-breakpoint
+ fun-end-breakpoint
single-step-breakpoint)
(defenum (:prefix trace-table-)
call-site
function-prologue
function-epilogue)
-
-
\f
-;;;; 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
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*
'(length
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