Skip to content
Snippets Groups Projects
Commit f6c2162b authored by toy's avatar toy
Browse files

Add disassembler support for printing out notes about static-symbols

(and NIL).  Based on some hints from Tim Moore.
parent a0c0de03
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/insts.lisp,v 1.21 2001/05/08 12:32:34 pw Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/insts.lisp,v 1.22 2001/06/04 17:58:35 toy Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -431,10 +431,26 @@
dstate))
(disassem:maybe-note-assembler-routine offset
nil
dstate)))
dstate)
(let ((offs (- offset disassem::nil-addr)))
(when (typep offs 'offset)
(disassem::maybe-note-nil-indexed-symbol-slot-ref offs
dstate)))))
(princ offset stream))))))
(write-char #\] stream))
(defun print-imm-data (value stream dstate)
(let ((offset (- value disassem::nil-addr)))
(if (zerop offset)
(format stream "#x~X" value)
(format stream "~A" value))
(when (typep offset 'offset)
(or (disassem::maybe-note-nil-indexed-object offset dstate)
(disassem::maybe-note-assembler-routine value stream dstate)
(nth-value 1
(disassem::note-code-constant-absolute offset
dstate))))))
(defun print-reg/mem (value stream dstate)
(declare (type (or list reg) value)
(type stream stream)
......@@ -586,6 +602,7 @@
(disassem:read-suffix
(width-bits (disassem:dstate-get-prop dstate 'width))
dstate))
:printer #'print-imm-data
)
(disassem:define-argument-type signed-imm-data
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment