Just Launched: You can now import projects and releases from Google Code onto SourceForge
We are excited to release new functionality to enable a 1-click import from Google Code onto the Allura platform on SourceForge. You can import tickets, wikis, source, releases, and more with a few simple steps. Read More
I have a small code snippet and I'd like to trace step-by-step how does
SBCL compiles it through all the stages. Or, at least, to see the VOPs
generated from it.
Could someone suggest a way to trace how does the SBCL compile?
(compile-file "foo" :trace-file t) is your friend. Have a look at
foo.trace afterwards and you will see:
1) The IR1 representation post-optimization;
2) The IR2 representation, just the VOPs;
3) The IR2 representation, the VOPs including assembly code; and
4) The actual assembly code as you would see from DISASSEMBLE, modulo
a few details (such as constants from the constant vector not being
filled in properly).
On 4/28/07, Denys Rtveliashvili <rtvd@...> wrote:
> I have a small code snippet and I'd like to trace step-by-step how does
> SBCL compiles it through all the stages. Or, at least, to see the VOPs
> generated from it.
> Could someone suggest a way to trace how does the SBCL compile?
> Thank you,
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> Sbcl-devel mailing list
From: David Lichteblau <david@li...> - 2007-04-28 18:03:58
Quoting Nathan Froyd (froydnj@...):
> (compile-file "foo" :trace-file t) is your friend. Have a look at
> foo.trace afterwards and you will see:
> 1) The IR1 representation post-optimization;
There is also irspect, my proof-of-concept CLIM GUI for IR1 inspection.
However, it has no support for IR2 and disassembly yet (other than
through the inspector).
Irspect from this tarball will work with normal SBCL, but originally the
idea was to use sb-heapdump to save components to disk for later
inspection. That would allow users to save the same component at
different stages of compilation.