... |
... |
@@ -3609,7 +3609,12 @@ symbol object that we know about.") |
3609
|
3609
|
(defun get-nil-indexed-object (byte-offset)
|
3610
|
3610
|
"Returns the lisp object located BYTE-OFFSET from NIL."
|
3611
|
3611
|
(declare (type offset byte-offset))
|
3612
|
|
- (kernel:make-lisp-obj (+ nil-addr byte-offset)))
|
|
3612
|
+ (values (kernel:make-lisp-obj (+ nil-addr byte-offset))
|
|
3613
|
+ ;; Assume NIL indexed objects only come from the static
|
|
3614
|
+ ;; space, so the byte offset must be in the static space
|
|
3615
|
+ (<= 0 byte-offset
|
|
3616
|
+ (- (* lisp::*static-space-free-pointer* vm:word-bytes)
|
|
3617
|
+ (lisp::static-space-start)))))
|
3613
|
3618
|
|
3614
|
3619
|
(defun get-code-constant (byte-offset dstate)
|
3615
|
3620
|
"Returns two values; the lisp-object located at BYTE-OFFSET in the constant
|
... |
... |
@@ -3787,11 +3792,13 @@ symbol object that we know about.") |
3787
|
3792
|
disassembled. Returns non-NIL iff a note was recorded."
|
3788
|
3793
|
(declare (type offset nil-byte-offset)
|
3789
|
3794
|
(type disassem-state dstate))
|
3790
|
|
- (let ((obj (get-nil-indexed-object nil-byte-offset)))
|
3791
|
|
- (note #'(lambda (stream)
|
3792
|
|
- (prin1-quoted-short obj stream))
|
3793
|
|
- dstate)
|
3794
|
|
- t))
|
|
3795
|
+ (multiple-value-bind (obj validp)
|
|
3796
|
+ (get-nil-indexed-object nil-byte-offset)
|
|
3797
|
+ (when validp
|
|
3798
|
+ (note #'(lambda (stream)
|
|
3799
|
+ (prin1-quoted-short obj stream))
|
|
3800
|
+ dstate))
|
|
3801
|
+ validp))
|
3795
|
3802
|
|
3796
|
3803
|
(defun maybe-note-assembler-routine (address note-address-p dstate)
|
3797
|
3804
|
"If ADDRESS is the address of a primitive assembler routine or
|