X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ftarget-disassem.lisp;h=4ad36565fed9b814a7c8072e242fc8197d5c9019;hb=28dcf682ef2a3c80b7bcdda00787dbb5e3893abe;hp=c9fdf0febe1f0aa69ed5005f592d8ba9b66efd84;hpb=df54cca124aa142fd222be24824b4e5320fa455e;p=sbcl.git diff --git a/src/compiler/target-disassem.lisp b/src/compiler/target-disassem.lisp index c9fdf0f..4ad3656 100644 --- a/src/compiler/target-disassem.lisp +++ b/src/compiler/target-disassem.lisp @@ -261,7 +261,7 @@ (:copier nil)) (sap-maker (missing-arg) :type (function () sb!sys:system-area-pointer)) - (length 0 :type length) + (length 0 :type disassem-length) (virtual-location 0 :type address) (storage-info nil :type (or null storage-info)) (code nil :type (or null sb!kernel:code-component)) @@ -381,8 +381,7 @@ (1- lra-size)))) sb!vm:return-pc-header-widetag)) (unless (null stream) - (princ '.lra stream)) - (incf (dstate-next-offs dstate) lra-size)) + (note "possible LRA header" dstate))) nil) ;;; Print the fun-header (entry-point) pseudo-instruction at the @@ -853,7 +852,7 @@ debug-fun source-form-cache hooks) (declare (type (function () sb!sys:system-area-pointer) sap-maker) - (type length length) + (type disassem-length length) (type (or null address) virtual-location) (type (or null sb!di:debug-fun) debug-fun) (type (or null source-form-cache) source-form-cache)) @@ -1331,7 +1330,7 @@ (length (code-inst-area-length code))) (declare (type sb!kernel:code-component code) (type offset start-offset) - (type length length)) + (type disassem-length length)) (let ((segments nil)) (when code (let ((fun-map (code-fun-map code)) @@ -1511,7 +1510,7 @@ code-component (use-labels t)) (declare (type (or address sb!sys:system-area-pointer) address) - (type length length) + (type disassem-length length) (type stream stream) (type (or null sb!kernel:code-component) code-component) (type (member t nil) use-labels)) @@ -1775,7 +1774,7 @@ (setf *assembler-routines-by-addr* (invert-address-hash sb!fasl:*assembler-routines*)) (setf *assembler-routines-by-addr* - (invert-address-hash sb!fasl:*static-foreign-symbols* + (invert-address-hash sb!sys:*static-foreign-symbols* *assembler-routines-by-addr*))) (gethash address *assembler-routines-by-addr*)) @@ -1908,7 +1907,10 @@ (declare (type disassem-state dstate)) (unless (typep address 'address) (return-from maybe-note-assembler-routine nil)) - (let ((name (find-assembler-routine address))) + (let ((name (or + #!+linkage-table + (sb!sys:foreign-symbol-in-address (sb!sys:int-sap address)) + (find-assembler-routine address)))) (unless (null name) (note (lambda (stream) (if note-address-p @@ -1956,8 +1958,7 @@ assoc-with (sb!di:debug-var-symbol (aref (dstate-debug-vars dstate) - storage-location)) - stream)) + storage-location)))) dstate) t)))