summaryrefslogtreecommitdiff
path: root/module/system/vm/disasm.scm
diff options
context:
space:
mode:
authorKeisuke Nishida <kxn30@po.cwru.edu>2001-04-16 03:43:48 +0000
committerKeisuke Nishida <kxn30@po.cwru.edu>2001-04-16 03:43:48 +0000
commit8f5cfc810fb19fdfbeaa55d59d47dc5ab50c416b (patch)
treeb5435b4d55e8645240fdb0f555599ae3c4038491 /module/system/vm/disasm.scm
parent78591ef5c3c4dd44cac912704696cf77c2cbbf73 (diff)
downloadguile-8f5cfc810fb19fdfbeaa55d59d47dc5ab50c416b.tar.gz
*** empty log message ***
Diffstat (limited to 'module/system/vm/disasm.scm')
-rw-r--r--module/system/vm/disasm.scm18
1 files changed, 10 insertions, 8 deletions
diff --git a/module/system/vm/disasm.scm b/module/system/vm/disasm.scm
index 0ab0a83d7..2e3c1ac87 100644
--- a/module/system/vm/disasm.scm
+++ b/module/system/vm/disasm.scm
@@ -27,15 +27,17 @@
:use-module (ice-9 format)
:use-module (ice-9 receive)
:use-module (ice-9 and-let-star)
- :export (disassemble-dumpcode disassemble-program))
+ :export (disassemble-objcode disassemble-program))
-(define (disassemble-dumpcode dumpcode . opts)
- (if (not (dumpcode? dumpcode)) (error "Invalid dumpcode"))
- (format #t "Disassembly of dumpcode:\n\n")
- (format #t "Compiled for Guile VM ~A\n\n" (dumpcode-version dumpcode))
- (format #t "nlocs = ~A nexts = ~A\n\n"
- (dumpcode-nlocs dumpcode) (dumpcode-nexts dumpcode))
- (disassemble-bytecode (dumpcode-bytecode dumpcode) #f))
+(define (disassemble-objcode objcode . opts)
+ (let* ((prog (objcode->program objcode))
+ (arity (program-arity prog))
+ (nlocs (caddr arity))
+ (nexts (cadddr arity))
+ (bytes (program-bytecode prog)))
+ (format #t "Disassembly of ~A:\n\n" objcode)
+ (format #t "nlocs = ~A nexts = ~A\n\n" nlocs nexts)
+ (disassemble-bytecode bytes #f)))
(define (disassemble-program prog . opts)
(let* ((arity (program-arity prog))