Commit 832cd490 authored by gerd's avatar gerd
Browse files

Ease disassembling closures and funcallable instances.

	From Alexey Dejneka in SBCL.

	* src/compiler/disassem.lisp (fun-address): Deal with closures
	and funcallable instances.
parent 1a939f78
......@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/disassem.lisp,v 1.39 2003/04/30 16:48:50 gerd Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/disassem.lisp,v 1.40 2003/06/08 12:15:53 gerd Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -2015,7 +2015,13 @@
(defun fun-address (function)
(declare (type compiled-function function))
(- (kernel:get-lisp-obj-address function) vm:function-pointer-type))
(ecase (kernel:get-type function)
(vm:function-header-type
(- (kernel:get-lisp-obj-address function) vm:function-pointer-type))
(vm:closure-header-type
(fun-address (kernel:%closure-function fun)))
(vm:funcallable-instance-header-type
(fun-address (kernel:funcallable-instance-function fun)))))
(defun fun-insts-offset (function)
"Offset of FUNCTION from the start of its code-component's instruction area."
......
......@@ -56,6 +56,7 @@ New in this release:
- UNIX:UNIX-LSEEK working with files > 2G on BSDs.
- Type declarations on local bindings of special variables no
longer being ignored.
- DISASSEMBLE disassembling closure/funcallable instance functions.
* Numerous ANSI compliance fixes:
- Many bugs in CMUCL's type system detected by Paul Dietz'
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment