mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
0.9.4.71:
Fix disassembly printing for mips break instructions.
This commit is contained in:
parent
40b6c8b103
commit
85483d976c
|
|
@ -222,10 +222,10 @@
|
||||||
|
|
||||||
(sb!disassem:define-instruction-format
|
(sb!disassem:define-instruction-format
|
||||||
(break 32 :default-printer
|
(break 32 :default-printer
|
||||||
'(:name :tab code (:unless (:constant 0) subcode)))
|
'(:name :tab code (:unless (:constant 0) ", " subcode)))
|
||||||
(op :field (byte 6 26) :value special-op)
|
(op :field (byte 6 26) :value special-op)
|
||||||
(code :field (byte 10 16))
|
(code :field (byte 10 16))
|
||||||
(subcode :field (byte 10 6) :value 0)
|
(subcode :field (byte 10 6))
|
||||||
(funct :field (byte 6 0) :value #b001101))
|
(funct :field (byte 6 0) :value #b001101))
|
||||||
|
|
||||||
(sb!disassem:define-instruction-format
|
(sb!disassem:define-instruction-format
|
||||||
|
|
@ -1062,35 +1062,35 @@
|
||||||
(defun break-control (chunk inst stream dstate)
|
(defun break-control (chunk inst stream dstate)
|
||||||
(declare (ignore inst))
|
(declare (ignore inst))
|
||||||
(flet ((nt (x) (if stream (sb!disassem:note x dstate))))
|
(flet ((nt (x) (if stream (sb!disassem:note x dstate))))
|
||||||
(case (break-code chunk dstate)
|
(when (= (break-code chunk dstate) 0)
|
||||||
(#.halt-trap
|
(case (break-subcode chunk dstate)
|
||||||
(nt "Halt trap"))
|
(#.halt-trap
|
||||||
(#.pending-interrupt-trap
|
(nt "Halt trap"))
|
||||||
(nt "Pending interrupt trap"))
|
(#.pending-interrupt-trap
|
||||||
(#.error-trap
|
(nt "Pending interrupt trap"))
|
||||||
(nt "Error trap")
|
(#.error-trap
|
||||||
(sb!disassem:handle-break-args #'snarf-error-junk stream dstate))
|
(nt "Error trap")
|
||||||
(#.cerror-trap
|
(sb!disassem:handle-break-args #'snarf-error-junk stream dstate))
|
||||||
(nt "Cerror trap")
|
(#.cerror-trap
|
||||||
(sb!disassem:handle-break-args #'snarf-error-junk stream dstate))
|
(nt "Cerror trap")
|
||||||
(#.breakpoint-trap
|
(sb!disassem:handle-break-args #'snarf-error-junk stream dstate))
|
||||||
(nt "Breakpoint trap"))
|
(#.breakpoint-trap
|
||||||
(#.fun-end-breakpoint-trap
|
(nt "Breakpoint trap"))
|
||||||
(nt "Function end breakpoint trap"))
|
(#.fun-end-breakpoint-trap
|
||||||
(#.after-breakpoint-trap
|
(nt "Function end breakpoint trap"))
|
||||||
(nt "After breakpoint trap"))
|
(#.after-breakpoint-trap
|
||||||
(#.pseudo-atomic-trap
|
(nt "After breakpoint trap"))
|
||||||
(nt "Pseudo atomic trap"))
|
(#.pseudo-atomic-trap
|
||||||
(#.object-not-list-trap
|
(nt "Pseudo atomic trap"))
|
||||||
(nt "Object not list trap"))
|
(#.object-not-list-trap
|
||||||
(#.object-not-instance-trap
|
(nt "Object not list trap"))
|
||||||
(nt "Object not instance trap"))
|
(#.object-not-instance-trap
|
||||||
)))
|
(nt "Object not instance trap"))))))
|
||||||
|
|
||||||
(define-instruction break (segment code &optional (subcode 0))
|
(define-instruction break (segment code &optional (subcode 0))
|
||||||
(:declare (type (unsigned-byte 10) code subcode))
|
(:declare (type (unsigned-byte 10) code subcode))
|
||||||
(:printer break ((op special-op) (funct #b001101))
|
(:printer break ((op special-op) (funct #b001101))
|
||||||
'(:name :tab code (:unless (:constant 0) subcode))
|
'(:name :tab code (:unless (:constant 0) ", " subcode))
|
||||||
:control #'break-control)
|
:control #'break-control)
|
||||||
:pinned
|
:pinned
|
||||||
(:cost 0)
|
(:cost 0)
|
||||||
|
|
|
||||||
|
|
@ -17,4 +17,4 @@
|
||||||
;;; checkins which aren't released. (And occasionally for internal
|
;;; checkins which aren't released. (And occasionally for internal
|
||||||
;;; versions, especially for internal versions off the main CVS
|
;;; versions, especially for internal versions off the main CVS
|
||||||
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
|
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
|
||||||
"0.9.4.70"
|
"0.9.4.71"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue