(invalid-value-debug-var condition)
(invalid-value-frame condition)))))
-(define-condition ambiguous-variable-name (debug-condition)
- ((name :reader ambiguous-variable-name-name :initarg :name)
- (frame :reader ambiguous-variable-name-frame :initarg :frame))
+(define-condition ambiguous-var-name (debug-condition)
+ ((name :reader ambiguous-var-name-name :initarg :name)
+ (frame :reader ambiguous-var-name-frame :initarg :frame))
(:report (lambda (condition stream)
(format stream "~&~S names more than one valid variable in ~S."
- (ambiguous-variable-name-name condition)
- (ambiguous-variable-name-frame condition)))))
+ (ambiguous-var-name-name condition)
+ (ambiguous-var-name-frame condition)))))
\f
;;;; errors and DEBUG-SIGNAL
(symbol (required-argument) :type symbol)
;; a unique integer identification relative to other variables with the same
;; symbol
- (id 0 :type sb!c::index)
+ (id 0 :type index)
;; Does the variable always have a valid value?
(alive-p nil :type boolean))
(def!method print-object ((debug-var debug-var) stream)
(symbol id alive-p sc-offset save-sc-offset))
(:copier nil))
;; storage class and offset (unexported)
- (sc-offset nil :type sb!c::sc-offset)
+ (sc-offset nil :type sb!c:sc-offset)
;; storage class and offset when saved somewhere
- (save-sc-offset nil :type (or sb!c::sc-offset null)))
+ (save-sc-offset nil :type (or sb!c:sc-offset null)))
;;;; frames
(elsewhere-p nil :type boolean))
(def!method print-object ((obj debug-block) str)
(print-unreadable-object (obj str :type t)
- (prin1 (debug-block-function-name obj) str)))
+ (prin1 (debug-block-fun-name obj) str)))
#!+sb-doc
(setf (fdocumentation 'debug-block-successors 'function)
;; This is the component in which the breakpoint lies.
component
;; This is the byte offset into the component.
- (offset nil :type sb!c::index)
+ (offset nil :type index)
;; The original instruction replaced by the breakpoint.
(instruction nil :type (or null (unsigned-byte 32)))
;; A list of user breakpoints at this location.
(%debug-block :unparsed :type (or debug-block (member :unparsed)))
;; This is the number of forms processed by the compiler or loader
;; before the top-level form containing this code-location.
- (%tlf-offset :unparsed :type (or sb!c::index (member :unparsed)))
+ (%tlf-offset :unparsed :type (or index (member :unparsed)))
;; This is the depth-first number of the node that begins
;; code-location within its top-level form.
- (%form-number :unparsed :type (or sb!c::index (member :unparsed))))
+ (%form-number :unparsed :type (or index (member :unparsed))))
(def!method print-object ((obj code-location) str)
(print-unreadable-object (obj str :type t)
(prin1 (debug-fun-name (code-location-debug-fun obj))
(:constructor make-compiled-code-location (pc debug-fun))
(:copier nil))
;; an index into DEBUG-FUN's component slot
- (pc nil :type sb!c::index)
+ (pc nil :type index)
;; a bit-vector indexed by a variable's position in
;; DEBUG-FUN-DEBUG-VARS indicating whether the variable has a
;; valid value at this code-location. (unexported).
(let ((component-ptr (component-ptr-from-pc pc)))
(unless (sap= component-ptr (int-sap #x0))
(let* ((code (component-from-component-ptr component-ptr))
- (code-header-len (* (get-header-data code) sb!vm:word-bytes))
+ (code-header-len (* (get-header-data code) sb!vm:n-word-bytes))
(pc-offset (- (sap-int pc)
(- (get-lisp-obj-address code)
sb!vm:other-pointer-lowtag)
nil)
(t
;; Check the two possible frame pointers.
- (let ((lisp-ocfp (sap-ref-sap fp (- (* (1+ sb!vm::ocfp-save-offset) 4))))
- (lisp-ra (sap-ref-sap fp (- (* (1+ sb!vm::return-pc-save-offset)
+ (let ((lisp-ocfp (sap-ref-sap fp (- (* (1+ ocfp-save-offset) 4))))
+ (lisp-ra (sap-ref-sap fp (- (* (1+ return-pc-save-offset)
4))))
- (c-ocfp (sap-ref-sap fp (* 0 sb!vm:word-bytes)))
- (c-ra (sap-ref-sap fp (* 1 sb!vm:word-bytes))))
+ (c-ocfp (sap-ref-sap fp (* 0 sb!vm:n-word-bytes)))
+ (c-ra (sap-ref-sap fp (* 1 sb!vm:n-word-bytes))))
(cond ((and (sap> lisp-ocfp fp) (cstack-pointer-valid-p lisp-ocfp)
(ra-pointer-valid-p lisp-ra)
(sap> c-ocfp fp) (cstack-pointer-valid-p c-ocfp)
(compute-calling-frame
(descriptor-sap
(get-context-value
- frame sb!vm::ocfp-save-offset
+ frame ocfp-save-offset
(sb!c::compiled-debug-fun-old-fp c-d-f)))
(get-context-value
- frame sb!vm::lra-save-offset
+ frame lra-save-offset
(sb!c::compiled-debug-fun-return-pc c-d-f))
frame)))
(bogus-debug-fun
#!-x86
(compute-calling-frame
#!-alpha
- (sap-ref-sap fp (* sb!vm::ocfp-save-offset
- sb!vm:word-bytes))
+ (sap-ref-sap fp (* ocfp-save-offset
+ sb!vm:n-word-bytes))
#!+alpha
(int-sap
- (sap-ref-32 fp (* sb!vm::ocfp-save-offset
- sb!vm:word-bytes)))
+ (sap-ref-32 fp (* ocfp-save-offset
+ sb!vm:n-word-bytes)))
- (stack-ref fp sb!vm::lra-save-offset)
+ (stack-ref fp lra-save-offset)
frame)))))))
down)))
#!-x86
(defun get-context-value (frame stack-slot loc)
(declare (type compiled-frame frame) (type unsigned-byte stack-slot)
- (type sb!c::sc-offset loc))
+ (type sb!c:sc-offset loc))
(let ((pointer (frame-pointer frame))
(escaped (compiled-frame-escaped frame)))
(if escaped
#!+x86
(defun get-context-value (frame stack-slot loc)
(declare (type compiled-frame frame) (type unsigned-byte stack-slot)
- (type sb!c::sc-offset loc))
+ (type sb!c:sc-offset loc))
(let ((pointer (frame-pointer frame))
(escaped (compiled-frame-escaped frame)))
(if escaped
(sub-access-debug-var-slot pointer loc escaped)
(ecase stack-slot
- (#.sb!vm::ocfp-save-offset
+ (#.ocfp-save-offset
(stack-ref pointer stack-slot))
- (#.sb!vm::lra-save-offset
+ (#.lra-save-offset
(sap-ref-sap pointer (- (* (1+ stack-slot) 4))))))))
#!-x86
(defun (setf get-context-value) (value frame stack-slot loc)
(declare (type compiled-frame frame) (type unsigned-byte stack-slot)
- (type sb!c::sc-offset loc))
+ (type sb!c:sc-offset loc))
(let ((pointer (frame-pointer frame))
(escaped (compiled-frame-escaped frame)))
(if escaped
#!+x86
(defun (setf get-context-value) (value frame stack-slot loc)
(declare (type compiled-frame frame) (type unsigned-byte stack-slot)
- (type sb!c::sc-offset loc))
+ (type sb!c:sc-offset loc))
(let ((pointer (frame-pointer frame))
(escaped (compiled-frame-escaped frame)))
(if escaped
(sub-set-debug-var-slot pointer loc value escaped)
(ecase stack-slot
- (#.sb!vm::ocfp-save-offset
+ (#.ocfp-save-offset
(setf (stack-ref pointer stack-slot) value))
- (#.sb!vm::lra-save-offset
+ (#.lra-save-offset
(setf (sap-ref-sap pointer (- (* (1+ stack-slot) 4))) value))))))
;;; This returns a frame for the one existing in time immediately
(if (fixnump lra)
(let ((fp (frame-pointer up-frame)))
(values lra
- (stack-ref fp (1+ sb!vm::lra-save-offset))))
+ (stack-ref fp (1+ lra-save-offset))))
(values (get-header-data lra)
(lra-code-header lra)))
(if code
(values code
(* (1+ (- word-offset (get-header-data code)))
- sb!vm:word-bytes)
+ sb!vm:n-word-bytes)
nil)
(values :foreign-function
0
(when (null code)
(return (values code 0 context)))
(let* ((code-header-len (* (get-header-data code)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(pc-offset
(- (sap-int (sb!vm:context-pc context))
(- (get-lisp-obj-address code)
(/show "got PC-OFFSET")
(unless (<= 0 pc-offset
(* (code-header-ref code sb!vm:code-code-size-slot)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
;; We were in an assembly routine. Therefore, use the
;; LRA as the pc.
;;
(when (symbolp code)
(return (values code 0 scp)))
(let* ((code-header-len (* (get-header-data code)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(pc-offset
(- (sap-int (sb!vm:context-pc scp))
(- (get-lisp-obj-address code)
;; delay slot.
#!+(or pmax sgi) ; pmax only (and broken anyway)
(when (logbitp 31 (sb!alien:slot scp '%mips::sc-cause))
- (incf pc-offset sb!vm:word-bytes))
+ (incf pc-offset sb!vm:n-word-bytes))
(unless (<= 0 pc-offset
(* (code-header-ref code sb!vm:code-code-size-slot)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
;; We were in an assembly routine. Therefore, use the
;; LRA as the pc.
(setf pc-offset
#!-alpha
(sap-ref-sap catch
(* sb!vm:catch-block-current-cont-slot
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
#!+alpha
(:int-sap
(sap-ref-32 catch
(* sb!vm:catch-block-current-cont-slot
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(let* (#!-x86
(lra (stack-ref catch sb!vm:catch-block-entry-pc-slot))
#!+x86
(ra (sap-ref-sap
catch (* sb!vm:catch-block-entry-pc-slot
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
#!-x86
(component
(stack-ref catch sb!vm:catch-block-current-code-slot))
#!-x86
(* (- (1+ (get-header-data lra))
(get-header-data component))
- sb!vm:word-bytes)
+ sb!vm:n-word-bytes)
#!+x86
(- (sap-int ra)
(- (get-lisp-obj-address component)
sb!vm:other-pointer-lowtag)
- (* (get-header-data component) sb!vm:word-bytes))))
+ (* (get-header-data component) sb!vm:n-word-bytes))))
(push (cons #!-x86
(stack-ref catch sb!vm:catch-block-tag-slot)
#!+x86
(make-lisp-obj
(sap-ref-32 catch (* sb!vm:catch-block-tag-slot
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(make-compiled-code-location
offset (frame-debug-fun frame)))
res)))
#!-alpha
(sap-ref-sap catch
(* sb!vm:catch-block-previous-catch-slot
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
#!+alpha
(:int-sap
(sap-ref-32 catch
(* sb!vm:catch-block-previous-catch-slot
- sb!vm:word-bytes)))))))
+ sb!vm:n-word-bytes)))))))
\f
;;;; operations on DEBUG-FUNs
(debug-fun-from-pc component
(* (- (fun-word-offset fun)
(get-header-data component))
- sb!vm:word-bytes)))))))
+ sb!vm:n-word-bytes)))))))
;;; Return the kind of the function, which is one of :OPTIONAL,
;;; :EXTERNAL, TOP-level, :CLEANUP, or NIL.
(debug-signal 'no-debug-blocks
:debug-fun debug-fun)))))
-;;; This returns a SIMPLE-VECTOR of DEBUG-BLOCKs or NIL. NIL indicates
-;;; there was no basic block information.
+;;; Return a SIMPLE-VECTOR of DEBUG-BLOCKs or NIL. NIL indicates there
+;;; was no basic block information.
(defun parse-debug-blocks (debug-fun)
(etypecase debug-fun
(compiled-debug-fun
;;; This does some of the work of PARSE-DEBUG-BLOCKS.
(defun parse-compiled-debug-blocks (debug-fun)
- (let* ((debug-fun (compiled-debug-fun-compiler-debug-fun
- debug-fun))
- (var-count (length (debug-fun-debug-vars debug-fun)))
- (blocks (sb!c::compiled-debug-fun-blocks debug-fun))
+ (let* ((var-count (length (debug-fun-debug-vars debug-fun)))
+ (compiler-debug-fun (compiled-debug-fun-compiler-debug-fun
+ debug-fun))
+ (blocks (sb!c::compiled-debug-fun-blocks compiler-debug-fun))
;; KLUDGE: 8 is a hard-wired constant in the compiler for the
;; element size of the packed binary representation of the
;; blocks data.
(live-set-len (ceiling var-count 8))
- (tlf-number (sb!c::compiled-debug-fun-tlf-number debug-fun)))
- (unless blocks (return-from parse-compiled-debug-blocks nil))
+ (tlf-number (sb!c::compiled-debug-fun-tlf-number compiler-debug-fun)))
+ (unless blocks
+ (return-from parse-compiled-debug-blocks nil))
(macrolet ((aref+ (a i) `(prog1 (aref ,a ,i) (incf ,i))))
(with-parsing-buffer (blocks-buffer locations-buffer)
(let ((i 0)
0)))
(svref blocks (1- end)))
(t last))))
- (declare (type sb!c::index i end))
+ (declare (type index i end))
(when (< pc
(compiled-code-location-pc
(svref (compiled-debug-block-code-locations
;;; Return the name of the function represented by DEBUG-FUN.
;;; This may be a string or a cons; do not assume it is a symbol.
-(defun debug-block-function-name (debug-block)
+(defun debug-block-fun-name (debug-block)
(etypecase debug-block
(compiled-debug-block
(let ((code-locs (compiled-debug-block-code-locations debug-block)))
;; routine in the C runtime support code
(or (< sb!vm:read-only-space-start val
(* sb!vm:*read-only-space-free-pointer*
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(< sb!vm:static-space-start val
(* sb!vm:*static-space-free-pointer*
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(< sb!vm:dynamic-space-start val
(sap-int (dynamic-space-free-pointer))))))
(make-lisp-obj val)
(sb!vm:context-register escaped
sb!vm::nfp-offset))
#!-alpha
- (sb!sys:sap-ref-sap fp (* sb!vm::nfp-save-offset
- sb!vm:word-bytes))
+ (sb!sys:sap-ref-sap fp (* nfp-save-offset
+ sb!vm:n-word-bytes))
#!+alpha
(sb!vm::make-number-stack-pointer
- (sb!sys:sap-ref-32 fp (* sb!vm::nfp-save-offset
- sb!vm:word-bytes))))))
+ (sb!sys:sap-ref-32 fp (* nfp-save-offset
+ sb!vm:n-word-bytes))))))
,@body)))
(ecase (sb!c:sc-offset-scn sc-offset)
((#.sb!vm:any-reg-sc-number
(sb!sys:int-sap val)))
(#.sb!vm:signed-reg-sc-number
(with-escaped-value (val)
- (if (logbitp (1- sb!vm:word-bits) val)
- (logior val (ash -1 sb!vm:word-bits))
+ (if (logbitp (1- sb!vm:n-word-bits) val)
+ (logior val (ash -1 sb!vm:n-word-bits))
val)))
(#.sb!vm:unsigned-reg-sc-number
(with-escaped-value (val)
(#.sb!vm:single-stack-sc-number
(with-nfp (nfp)
(sb!sys:sap-ref-single nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(#.sb!vm:double-stack-sc-number
(with-nfp (nfp)
(sb!sys:sap-ref-double nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
#!+long-float
(#.sb!vm:long-stack-sc-number
(with-nfp (nfp)
(sb!sys:sap-ref-long nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(#.sb!vm:complex-single-stack-sc-number
(with-nfp (nfp)
(complex
(sb!sys:sap-ref-single nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(sb!sys:sap-ref-single nfp (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))))
+ sb!vm:n-word-bytes)))))
(#.sb!vm:complex-double-stack-sc-number
(with-nfp (nfp)
(complex
(sb!sys:sap-ref-double nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(sb!sys:sap-ref-double nfp (* (+ (sb!c:sc-offset-offset sc-offset) 2)
- sb!vm:word-bytes)))))
+ sb!vm:n-word-bytes)))))
#!+long-float
(#.sb!vm:complex-long-stack-sc-number
(with-nfp (nfp)
(complex
(sb!sys:sap-ref-long nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(sb!sys:sap-ref-long nfp (* (+ (sb!c:sc-offset-offset sc-offset)
#!+sparc 4)
- sb!vm:word-bytes)))))
+ sb!vm:n-word-bytes)))))
(#.sb!vm:control-stack-sc-number
(sb!kernel:stack-ref fp (sb!c:sc-offset-offset sc-offset)))
(#.sb!vm:base-char-stack-sc-number
(with-nfp (nfp)
(code-char (sb!sys:sap-ref-32 nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes)))))
+ sb!vm:n-word-bytes)))))
(#.sb!vm:unsigned-stack-sc-number
(with-nfp (nfp)
(sb!sys:sap-ref-32 nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(#.sb!vm:signed-stack-sc-number
(with-nfp (nfp)
(sb!sys:signed-sap-ref-32 nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(#.sb!vm:sap-stack-sc-number
(with-nfp (nfp)
(sb!sys:sap-ref-sap nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes)))))))
+ sb!vm:n-word-bytes)))))))
#!+x86
(defun sub-access-debug-var-slot (fp sc-offset &optional escaped)
(#.sb!vm:signed-reg-sc-number
(/show0 "case of SIGNED-REG-SC-NUMBER")
(with-escaped-value (val)
- (if (logbitp (1- sb!vm:word-bits) val)
- (logior val (ash -1 sb!vm:word-bits))
+ (if (logbitp (1- sb!vm:n-word-bits) val)
+ (logior val (ash -1 sb!vm:n-word-bits))
val)))
(#.sb!vm:unsigned-reg-sc-number
(/show0 "case of UNSIGNED-REG-SC-NUMBER")
(#.sb!vm:single-stack-sc-number
(/show0 "case of SINGLE-STACK-SC-NUMBER")
(sap-ref-single fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(#.sb!vm:double-stack-sc-number
(/show0 "case of DOUBLE-STACK-SC-NUMBER")
(sap-ref-double fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 2)
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
#!+long-float
(#.sb!vm:long-stack-sc-number
(/show0 "case of LONG-STACK-SC-NUMBER")
(sap-ref-long fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 3)
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(#.sb!vm:complex-single-stack-sc-number
(/show0 "case of COMPLEX-STACK-SC-NUMBER")
(complex
(sap-ref-single fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(sap-ref-single fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 2)
- sb!vm:word-bytes)))))
+ sb!vm:n-word-bytes)))))
(#.sb!vm:complex-double-stack-sc-number
(/show0 "case of COMPLEX-DOUBLE-STACK-SC-NUMBER")
(complex
(sap-ref-double fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 2)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(sap-ref-double fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 4)
- sb!vm:word-bytes)))))
+ sb!vm:n-word-bytes)))))
#!+long-float
(#.sb!vm:complex-long-stack-sc-number
(/show0 "case of COMPLEX-LONG-STACK-SC-NUMBER")
(complex
(sap-ref-long fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 3)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(sap-ref-long fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 6)
- sb!vm:word-bytes)))))
+ sb!vm:n-word-bytes)))))
(#.sb!vm:control-stack-sc-number
(/show0 "case of CONTROL-STACK-SC-NUMBER")
(stack-ref fp (sb!c:sc-offset-offset sc-offset)))
(/show0 "case of BASE-CHAR-STACK-SC-NUMBER")
(code-char
(sap-ref-32 fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))))
+ sb!vm:n-word-bytes)))))
(#.sb!vm:unsigned-stack-sc-number
(/show0 "case of UNSIGNED-STACK-SC-NUMBER")
(sap-ref-32 fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(#.sb!vm:signed-stack-sc-number
(/show0 "case of SIGNED-STACK-SC-NUMBER")
(signed-sap-ref-32 fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes))))
+ sb!vm:n-word-bytes))))
(#.sb!vm:sap-stack-sc-number
(/show0 "case of SAP-STACK-SC-NUMBER")
(sap-ref-sap fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))))))
+ sb!vm:n-word-bytes)))))))
;;; This stores value as the value of DEBUG-VAR in FRAME. In the
;;; COMPILED-DEBUG-VAR case, access the current value to determine if
sb!vm::nfp-offset))
#!-alpha
(sap-ref-sap fp
- (* sb!vm::nfp-save-offset
- sb!vm:word-bytes))
+ (* nfp-save-offset
+ sb!vm:n-word-bytes))
#!+alpha
(sb!vm::make-number-stack-pointer
(sap-ref-32 fp
- (* sb!vm::nfp-save-offset
- sb!vm:word-bytes))))))
+ (* nfp-save-offset
+ sb!vm:n-word-bytes))))))
,@body)))
(ecase (sb!c:sc-offset-scn sc-offset)
((#.sb!vm:any-reg-sc-number
(#.sb!vm:sap-reg-sc-number
(set-escaped-value (sap-int value)))
(#.sb!vm:signed-reg-sc-number
- (set-escaped-value (logand value (1- (ash 1 sb!vm:word-bits)))))
+ (set-escaped-value (logand value (1- (ash 1 sb!vm:n-word-bits)))))
(#.sb!vm:unsigned-reg-sc-number
(set-escaped-value value))
(#.sb!vm:non-descriptor-reg-sc-number
(#.sb!vm:single-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-single nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the single-float value))))
(#.sb!vm:double-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-double nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the double-float value))))
#!+long-float
(#.sb!vm:long-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-long nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the long-float value))))
(#.sb!vm:complex-single-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-single
- nfp (* (sb!c:sc-offset-offset sc-offset) sb!vm:word-bytes))
+ nfp (* (sb!c:sc-offset-offset sc-offset) sb!vm:n-word-bytes))
(the single-float (realpart value)))
(setf (sap-ref-single
nfp (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the single-float (realpart value)))))
(#.sb!vm:complex-double-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-double
- nfp (* (sb!c:sc-offset-offset sc-offset) sb!vm:word-bytes))
+ nfp (* (sb!c:sc-offset-offset sc-offset) sb!vm:n-word-bytes))
(the double-float (realpart value)))
(setf (sap-ref-double
nfp (* (+ (sb!c:sc-offset-offset sc-offset) 2)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the double-float (realpart value)))))
#!+long-float
(#.sb!vm:complex-long-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-long
- nfp (* (sb!c:sc-offset-offset sc-offset) sb!vm:word-bytes))
+ nfp (* (sb!c:sc-offset-offset sc-offset) sb!vm:n-word-bytes))
(the long-float (realpart value)))
(setf (sap-ref-long
nfp (* (+ (sb!c:sc-offset-offset sc-offset) #!+sparc 4)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the long-float (realpart value)))))
(#.sb!vm:control-stack-sc-number
(setf (stack-ref fp (sb!c:sc-offset-offset sc-offset)) value))
(#.sb!vm:base-char-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-32 nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(char-code (the character value)))))
(#.sb!vm:unsigned-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-32 nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the (unsigned-byte 32) value))))
(#.sb!vm:signed-stack-sc-number
(with-nfp (nfp)
(setf (signed-sap-ref-32 nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the (signed-byte 32) value))))
(#.sb!vm:sap-stack-sc-number
(with-nfp (nfp)
(setf (sap-ref-sap nfp (* (sb!c:sc-offset-offset sc-offset)
- sb!vm:word-bytes))
+ sb!vm:n-word-bytes))
(the system-area-pointer value)))))))
#!+x86
(#.sb!vm:sap-reg-sc-number
(set-escaped-value (sap-int value)))
(#.sb!vm:signed-reg-sc-number
- (set-escaped-value (logand value (1- (ash 1 sb!vm:word-bits)))))
+ (set-escaped-value (logand value (1- (ash 1 sb!vm:n-word-bits)))))
(#.sb!vm:unsigned-reg-sc-number
(set-escaped-value value))
(#.sb!vm:single-reg-sc-number
(#.sb!vm:single-stack-sc-number
(setf (sap-ref-single
fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(the single-float value)))
(#.sb!vm:double-stack-sc-number
(setf (sap-ref-double
fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 2)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(the double-float value)))
#!+long-float
(#.sb!vm:long-stack-sc-number
(setf (sap-ref-long
fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 3)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(the long-float value)))
(#.sb!vm:complex-single-stack-sc-number
(setf (sap-ref-single
fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(realpart (the (complex single-float) value)))
(setf (sap-ref-single
fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 2)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(imagpart (the (complex single-float) value))))
(#.sb!vm:complex-double-stack-sc-number
(setf (sap-ref-double
fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 2)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(realpart (the (complex double-float) value)))
(setf (sap-ref-double
fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 4)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(imagpart (the (complex double-float) value))))
#!+long-float
(#.sb!vm:complex-long-stack-sc-number
(setf (sap-ref-long
fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 3)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(realpart (the (complex long-float) value)))
(setf (sap-ref-long
fp (- (* (+ (sb!c:sc-offset-offset sc-offset) 6)
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(imagpart (the (complex long-float) value))))
(#.sb!vm:control-stack-sc-number
(setf (stack-ref fp (sb!c:sc-offset-offset sc-offset)) value))
(#.sb!vm:base-char-stack-sc-number
(setf (sap-ref-32 fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(char-code (the character value))))
(#.sb!vm:unsigned-stack-sc-number
(setf (sap-ref-32 fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(the (unsigned-byte 32) value)))
(#.sb!vm:signed-stack-sc-number
(setf (signed-sap-ref-32
- fp (- (* (1+ (sb!c:sc-offset-offset sc-offset)) sb!vm:word-bytes)))
+ fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
+ sb!vm:n-word-bytes)))
(the (signed-byte 32) value)))
(#.sb!vm:sap-stack-sc-number
(setf (sap-ref-sap fp (- (* (1+ (sb!c:sc-offset-offset sc-offset))
- sb!vm:word-bytes)))
+ sb!vm:n-word-bytes)))
(the system-area-pointer value))))))
;;; The method for setting and accessing COMPILED-DEBUG-VAR values use
;;; The returned function takes the frame to get values from as its
;;; argument, and it returns the values of FORM. The returned function
;;; can signal the following conditions: INVALID-VALUE,
-;;; AMBIGUOUS-VARIABLE-NAME, and FRAME-FUN-MISMATCH.
+;;; AMBIGUOUS-VAR-NAME, and FRAME-FUN-MISMATCH.
(defun preprocess-for-eval (form loc)
(declare (type code-location loc))
(let ((n-frame (gensym))
(:valid
(specs `(,name (debug-var-value ',var ,n-frame))))
(:unknown
- (specs `(,name (debug-signal 'invalid-value :debug-var ',var
+ (specs `(,name (debug-signal 'invalid-value
+ :debug-var ',var
:frame ,n-frame))))
(:ambiguous
- (specs `(,name (debug-signal 'ambiguous-variable-name :name ',name
+ (specs `(,name (debug-signal 'ambiguous-var-name
+ :name ',name
:frame ,n-frame)))))))
(let ((res (coerce `(lambda (,n-frame)
(declare (ignorable ,n-frame))
(multiple-value-bind (lra component offset)
(make-bogus-lra
(get-context-value frame
- sb!vm::lra-save-offset
+ lra-save-offset
lra-sc-offset))
(setf (get-context-value frame
- sb!vm::lra-save-offset
+ lra-save-offset
lra-sc-offset)
lra)
(let ((end-bpts (breakpoint-%info starter-bpt)))
(do ((frame frame (frame-down frame)))
((not frame) nil)
(when (and (compiled-frame-p frame)
- (eq lra
- (get-context-value frame
- sb!vm::lra-save-offset
- lra-sc-offset)))
+ (#-x86 eq #+x86 sap=
+ lra
+ (get-context-value frame lra-save-offset lra-sc-offset)))
(return t)))))
\f
;;;; ACTIVATE-BREAKPOINT
(frame (do ((cfp (sb!vm:context-register scp sb!vm::cfp-offset))
(f (top-frame) (frame-down f)))
((= cfp (sap-int (frame-pointer f))) f)
- (declare (type (unsigned-byte #.sb!vm:word-bits) cfp))))
+ (declare (type (unsigned-byte #.sb!vm:n-word-bits) cfp))))
(component (breakpoint-data-component data))
(cookie (gethash component *fun-end-cookies*)))
(remhash component *fun-end-cookies*)
(setf (code-header-ref code-object (1+ real-lra-slot)) offset))
(setf (code-header-ref code-object known-return-p-slot)
known-return-p)
- (system-area-copy src-start 0 dst-start 0 (* length sb!vm:byte-bits))
+ (system-area-copy src-start 0 dst-start 0 (* length sb!vm:n-byte-bits))
(sb!vm:sanctify-for-execution code-object)
#!+x86
(values dst-start code-object (sap- trap-loc src-start))