diff options
author | Andy Wingo <wingo@pobox.com> | 2012-01-25 18:49:43 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2012-01-25 18:49:43 +0100 |
commit | e5cf97290c3d2dcda0eca02f9fcf4020452bca42 (patch) | |
tree | 4c730ef54e462713e4fabfcdabf1a9bf1a39267c | |
parent | d646d81ec1c9f16a1e4d3f5bd388ec069c47a1c2 (diff) | |
download | guile-e5cf97290c3d2dcda0eca02f9fcf4020452bca42.tar.gz |
better function prologue disassembly
* module/language/assembly/disassemble.scm (code-annotation): Add an
annotation for assert-nargs-ee/locals and assert-nargs-ge/locals.
-rw-r--r-- | module/language/assembly/disassemble.scm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/module/language/assembly/disassemble.scm b/module/language/assembly/disassemble.scm index 88ea0d7d6..ced5f26a8 100644 --- a/module/language/assembly/disassemble.scm +++ b/module/language/assembly/disassemble.scm @@ -1,6 +1,6 @@ ;;; Guile VM code converters -;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2009, 2010, 2012 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -141,6 +141,9 @@ (list "`~a'~@[ (arg)~]" (binding:name b) (< (binding:index b) nargs)) (lp (cdr bindings)))))))) + ((assert-nargs-ee/locals assert-nargs-ge/locals) + (list "~a arg~:p, ~a local~:p" + (logand (car args) #x7) (ash (car args) -3))) ((free-ref free-boxed-ref free-boxed-set) ;; FIXME: we can do better than this (list "(closure variable)")) |