From 85483d976cc2d779493985f77f39efefb2ea622b Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Fri, 16 Sep 2005 13:22:08 +0000 Subject: [PATCH] 0.9.4.71: Fix disassembly printing for mips break instructions. --- src/compiler/mips/insts.lisp | 54 +++++++++++++++++++++--------------------- version.lisp-expr | 2 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/compiler/mips/insts.lisp b/src/compiler/mips/insts.lisp index dec4636..a6b7c72 100644 --- a/src/compiler/mips/insts.lisp +++ b/src/compiler/mips/insts.lisp @@ -222,10 +222,10 @@ (sb!disassem:define-instruction-format (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) (code :field (byte 10 16)) - (subcode :field (byte 10 6) :value 0) + (subcode :field (byte 10 6)) (funct :field (byte 6 0) :value #b001101)) (sb!disassem:define-instruction-format @@ -1062,35 +1062,35 @@ (defun break-control (chunk inst stream dstate) (declare (ignore inst)) (flet ((nt (x) (if stream (sb!disassem:note x dstate)))) - (case (break-code chunk dstate) - (#.halt-trap - (nt "Halt trap")) - (#.pending-interrupt-trap - (nt "Pending interrupt trap")) - (#.error-trap - (nt "Error trap") - (sb!disassem:handle-break-args #'snarf-error-junk stream dstate)) - (#.cerror-trap - (nt "Cerror trap") - (sb!disassem:handle-break-args #'snarf-error-junk stream dstate)) - (#.breakpoint-trap - (nt "Breakpoint trap")) - (#.fun-end-breakpoint-trap - (nt "Function end breakpoint trap")) - (#.after-breakpoint-trap - (nt "After breakpoint trap")) - (#.pseudo-atomic-trap - (nt "Pseudo atomic trap")) - (#.object-not-list-trap - (nt "Object not list trap")) - (#.object-not-instance-trap - (nt "Object not instance trap")) - ))) + (when (= (break-code chunk dstate) 0) + (case (break-subcode chunk dstate) + (#.halt-trap + (nt "Halt trap")) + (#.pending-interrupt-trap + (nt "Pending interrupt trap")) + (#.error-trap + (nt "Error trap") + (sb!disassem:handle-break-args #'snarf-error-junk stream dstate)) + (#.cerror-trap + (nt "Cerror trap") + (sb!disassem:handle-break-args #'snarf-error-junk stream dstate)) + (#.breakpoint-trap + (nt "Breakpoint trap")) + (#.fun-end-breakpoint-trap + (nt "Function end breakpoint trap")) + (#.after-breakpoint-trap + (nt "After breakpoint trap")) + (#.pseudo-atomic-trap + (nt "Pseudo atomic trap")) + (#.object-not-list-trap + (nt "Object not list trap")) + (#.object-not-instance-trap + (nt "Object not instance trap")))))) (define-instruction break (segment code &optional (subcode 0)) (:declare (type (unsigned-byte 10) code subcode)) (:printer break ((op special-op) (funct #b001101)) - '(:name :tab code (:unless (:constant 0) subcode)) + '(:name :tab code (:unless (:constant 0) ", " subcode)) :control #'break-control) :pinned (:cost 0) diff --git a/version.lisp-expr b/version.lisp-expr index e4e6bfb..6cd77ea 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.4.70" +"0.9.4.71" -- 1.7.10.4