[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