[Git][cmucl/cmucl][sparc64-dev] Skip the inst in the branch delay slot

Raymond Toy rtoy at common-lisp.net
Sat Feb 4 05:04:33 UTC 2017


Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl


Commits:
7dd0a074 by Raymond Toy at 2017-02-03T21:04:10-08:00
Skip the inst in the branch delay slot

When snarfing the not-implemented trap, we need to skip over the
instruction in the branch delay slot too, to get to the desired
string.

- - - - -


1 changed file:

- src/compiler/sparc64/insts.lisp


Changes:

=====================================
src/compiler/sparc64/insts.lisp
=====================================
--- a/src/compiler/sparc64/insts.lisp
+++ b/src/compiler/sparc64/insts.lisp
@@ -1547,8 +1547,8 @@ about function addresses and register values.")
     ;; From the offset in the branch instruction, compute the max
     ;; length of the string that was encoded.
     (let ((max-length (+ (ash (ldb (byte 24 0) branch-inst) 2) 4)))
-      ;; Skip the branch instruction
-      (incf offset 4)
+      ;; Skip the branch instruction and the delay slot
+      (incf offset 8)
       ;; Print each following byte until max-length is reached or we
       ;; get a 0 byte.
       (with-output-to-string (s)



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/7dd0a074a3f9ca65a8b33f76bb925a61f9d7ae7f
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20170204/95894429/attachment.html>


More information about the cmucl-cvs mailing list