[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 12/41: ,registers doesn't use frame-procedure
From: |
Andy Wingo |
Subject: |
[Guile-commits] 12/41: ,registers doesn't use frame-procedure |
Date: |
Wed, 02 Dec 2015 08:06:49 +0000 |
wingo pushed a commit to branch master
in repository guile.
commit 2d0214a9b741083ca89d587016c86ad7b4c4bf1b
Author: Andy Wingo <address@hidden>
Date: Fri Nov 27 12:53:34 2015 +0100
,registers doesn't use frame-procedure
* module/system/repl/debug.scm (print-registers): Avoid frame-procedure,
and be more useful and print an offset in units of 4 bytes.
---
module/system/repl/debug.scm | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/module/system/repl/debug.scm b/module/system/repl/debug.scm
index 9516af6..e148d44 100644
--- a/module/system/repl/debug.scm
+++ b/module/system/repl/debug.scm
@@ -24,6 +24,7 @@
#:use-module (system base language)
#:use-module (system vm vm)
#:use-module (system vm frame)
+ #:use-module (system vm debug)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 pretty-print)
#:use-module (ice-9 format)
@@ -94,12 +95,13 @@
(format port fmt val))
(format port "~aRegisters:~%" per-line-prefix)
- (print "ip = #x~x" (frame-instruction-pointer frame))
- (when (program? (frame-procedure frame))
- (let ((code (program-code (frame-procedure frame))))
- (format port " (address@hidden)" code
- (- (frame-instruction-pointer frame) code))))
- (newline port)
+ (let ((ip (frame-instruction-pointer frame)))
+ (print "ip = #x~x" ip)
+ (let ((info (find-program-debug-info ip)))
+ (when info
+ (let ((addr (program-debug-info-addr info)))
+ (format port " (#x~x + ~d * 4)" addr (/ (- ip addr) 4)))))
+ (newline port))
(print "sp = ~a\n" (frame-stack-pointer frame))
(print "fp = ~a\n" (frame-address frame)))
- [Guile-commits] branch master updated (13edcf5 -> 2468871), Andy Wingo, 2015/12/02
- [Guile-commits] 03/41: Remove br-if-equal opcode, Andy Wingo, 2015/12/02
- [Guile-commits] 02/41: Don't compile equal? to br-if-equal, Andy Wingo, 2015/12/02
- [Guile-commits] 04/41: Identify boot continuations by code, not closure, Andy Wingo, 2015/12/02
- [Guile-commits] 01/41: Fix miscompilation of closures allocated as vectors, Andy Wingo, 2015/12/02
- [Guile-commits] 08/41: Add frame-procedure-name, Andy Wingo, 2015/12/02
- [Guile-commits] 06/41: Apply of non-programs has IP that is not from prev frame, Andy Wingo, 2015/12/02
- [Guile-commits] 07/41: Remove primitive?, add primitive-code?, Andy Wingo, 2015/12/02
- [Guile-commits] 10/41: More robust low-level frame printer, Andy Wingo, 2015/12/02
- [Guile-commits] 05/41: All arities serialize a "closure" binding, Andy Wingo, 2015/12/02
- [Guile-commits] 12/41: ,registers doesn't use frame-procedure,
Andy Wingo <=
- [Guile-commits] 11/41: Better frame-call-representation printing of GC clobbers, Andy Wingo, 2015/12/02
- [Guile-commits] 09/41: frame-call-representation avoids frame-procedure., Andy Wingo, 2015/12/02
- [Guile-commits] 15/41: Remove frame-procedure, Andy Wingo, 2015/12/02
- [Guile-commits] 13/41: Remove `procedure' repl command, Andy Wingo, 2015/12/02
- [Guile-commits] 14/41: VM traps don't match on value of slot 0, Andy Wingo, 2015/12/02
- [Guile-commits] 17/41: Remove frame->module, Andy Wingo, 2015/12/02
- [Guile-commits] 19/41: Add bv-length instruction, Andy Wingo, 2015/12/02
- [Guile-commits] 18/41: Range inference over the full U64+S64 range, Andy Wingo, 2015/12/02
- [Guile-commits] 20/41: bv-f{32, 64}-{ref, set!} take unboxed u64 index, Andy Wingo, 2015/12/02
- [Guile-commits] 23/41: Beginning of u64 phi unboxing, Andy Wingo, 2015/12/02