summaryrefslogtreecommitdiff
path: root/module/system/vm/disassembler.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-10-22 11:02:18 +0000
committerAndy Wingo <wingo@pobox.com>2015-10-22 11:02:18 +0000
commit467e587d68fac4a4c269e892740cd5077f5da815 (patch)
treee812bb2bc79370cc7696bd38f01b3b6ff56b8034 /module/system/vm/disassembler.scm
parentf03960412ebf3ac40686a79b8ed5ebf7c6e49b18 (diff)
downloadguile-467e587d68fac4a4c269e892740cd5077f5da815.tar.gz
Update VM documentation for new stack layout
* doc/ref/vm.texi: Update for new stack layout. * module/system/vm/disassembler.scm (code-annotation): Print the frame sizes after alloc-frame, reset-frame, etc to make reading the disassembly easier.
Diffstat (limited to 'module/system/vm/disassembler.scm')
-rw-r--r--module/system/vm/disassembler.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/module/system/vm/disassembler.scm b/module/system/vm/disassembler.scm
index b76433ba5..233ba759b 100644
--- a/module/system/vm/disassembler.scm
+++ b/module/system/vm/disassembler.scm
@@ -219,7 +219,13 @@ address of that offset."
(list "~S" (unpack-scm (logior (ash high 32) low))))
(('assert-nargs-ee/locals nargs locals)
;; The nargs includes the procedure.
- (list "~a arg~:p, ~a local~:p" (1- nargs) locals))
+ (list "~a slot~:p (~a arg~:p)" (+ locals nargs) (1- nargs)))
+ (('alloc-frame nlocals)
+ (list "~a slot~:p" nlocals))
+ (('reset-frame nlocals)
+ (list "~a slot~:p" nlocals))
+ (('bind-rest dst)
+ (list "~a slot~:p" (1+ dst)))
(('tail-call nargs proc)
(list "~a arg~:p" nargs))
(('make-closure dst target nfree)