New member; requirements for disassembler?

2 views
Skip to first unread message

Michael Kohout

unread,
Jul 26, 2009, 1:21:32 PM7/26/09
to loom-as3
Hi All..new member here(who is, humorously trying to develop a
compiler/parser for tamarin/flash on .Net).

I'm trying to run Max's dissassembler from the file downloads but I'm
getting an error:
"Program too big to fit in memory"

Any idea of what could be wrong? I'm running this on a 32bit Vista
box.

thanks
Mike Kohout

Maxim Porges

unread,
Jul 27, 2009, 10:16:02 AM7/27/09
to loom...@googlegroups.com
I've never seen that error before. What are you trying to run through
the parser?

- max

Michael Kohout

unread,
Jul 27, 2009, 1:04:30 PM7/27/09
to loom-as3
I'm running Tamarin's ByteArray.as through...it's the one currently in
tamarin-central.

Maxim Porges

unread,
Jul 27, 2009, 1:20:03 PM7/27/09
to loom...@googlegroups.com
Are you running the ByteArray.abc file, or a .as source file?

- max

Michael Kohout

unread,
Jul 28, 2009, 2:27:18 AM7/28/09
to loom-as3
The abc file. FYI, I used the flex 3 compiler.

Thanks for your help, Max.
Mike

Michael Kohout

unread,
Jul 28, 2009, 11:52:39 AM7/28/09
to loom-as3
It also outputs the error when no abc file is given as a parameter-

C:\Program Files\Microsoft Visual Studio 9.0\VC>"C:\Users\Michael Kohout\Documen
ts\Downloads\abcdump (1)\abcdump.exe"
Program too big to fit in memory

Leading me to think that this is some sort of system incompatibility.

Maxim Porges

unread,
Jul 28, 2009, 12:04:10 PM7/28/09
to loom...@googlegroups.com
Michael,

I think I'm confused. What are you running exactly? The Loom alphas are intended to be run as libraries inside a Flex app, but it looks like you are trying to run abcdump.exe from Visual Studio.

- max

Michael Kohout

unread,
Jul 28, 2009, 12:12:07 PM7/28/09
to loom...@googlegroups.com
oh....I thought the disassembler was a command line tool.

Maxim Porges

unread,
Jul 28, 2009, 12:18:55 PM7/28/09
to loom...@googlegroups.com
No, unfortunately not. Although I set up Loom to trace AbcFile objects as disassembled ABC code, Loom's primary purpose is bytecode weaving, not disassembly. I use the disassembled code to make sure that the bytecode weaving worked as expected.

There are a number of disassembler-specific projects out there if that is what you are looking for. If you are interested in writing your own disassembler, then I'll be happy to help you understand the ABC file format. You should be able to port a lot of Loom's code directly to C# to make a native disassembler.

Thanks,

- max

Michael Kohout

unread,
Jul 28, 2009, 12:46:45 PM7/28/09
to loom...@googlegroups.com
OK, cool.  I was thinking that your tool was just an improvement over tamarin's abcdump command line tool.

I've already got a great deal of the code done for my project...what I'm doing is making an expression library for tamarin, in the spirit of .Net's DLR.

What I'm trying to do next is make sure I've encoded stuff in the constant pool correctly.  So, I'm specifically looking for a disassembler that will dump the pool in a human readable format.

Do you have any suggestions for a disassembler with those capabilities? 

thanks again,
Mike

Maxim Porges

unread,
Jul 28, 2009, 12:59:29 PM7/28/09
to loom...@googlegroups.com
Yeah, Loom actually does that. I had a lot of issues with abcdump being so opaque in its output, so I made Loom's output really verbose and human-readable.

Are you outputting ABC files from your project? If so, all you need to do is use the sample code with the Loom alphas to embed the ABC file in to a .as class, and then you can have Loom parse the ABC file and dump it using trace(). You'll get the constant pool details at the top of the output.

- max

Michael Kohout

unread,
Jul 28, 2009, 1:51:26 PM7/28/09
to loom...@googlegroups.com
ok, sweet.  I guess I'll have to fire up flex builder and give it a shot :-)


thanks so much for setting me straight on loom.  I look forward to using your project!
Mike

Maxim Porges

unread,
Jul 28, 2009, 2:22:45 PM7/28/09
to loom...@googlegroups.com
No worries, I hope it is useful. Let us know what happens!

FYI, the ABC parsing is slow in Loom at the moment under certain conditions - just let it run. The resolution for this is a simple fix and I just need to arrange for it to be put in to the library.

- max
Reply all
Reply to author
Forward
0 new messages