diff options
author | Keisuke Nishida <kxn30@po.cwru.edu> | 2001-04-16 03:43:48 +0000 |
---|---|---|
committer | Keisuke Nishida <kxn30@po.cwru.edu> | 2001-04-16 03:43:48 +0000 |
commit | 8f5cfc810fb19fdfbeaa55d59d47dc5ab50c416b (patch) | |
tree | b5435b4d55e8645240fdb0f555599ae3c4038491 /module/system/vm/disasm.scm | |
parent | 78591ef5c3c4dd44cac912704696cf77c2cbbf73 (diff) | |
download | guile-8f5cfc810fb19fdfbeaa55d59d47dc5ab50c416b.tar.gz |
*** empty log message ***
Diffstat (limited to 'module/system/vm/disasm.scm')
-rw-r--r-- | module/system/vm/disasm.scm | 18 |
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)) |