Good news everyone,

I've just managed to decode a class file with its constituent bytecode
out to a Jar. There's a few bugs (it doesn't calculate the max stack)
and the byteccode is replaced with 'return' -- but that's only because
pack200 does some extra mangling on the bytecode (e.g. 'super()' is
normally 2 bytes, but it's so common that there's a special 1 byte
marker for it).

But this is one of the last major hurdles before being able to have
both abstract/non-abstract classes/interfaces unpacked. If only I was
anywhere near finished ... there's a number of attributes that I need
to handle still (e.g. debugging attributes like line number tables) as
well as the generic attribute handling mechanism.

With any luck, I'll be able to take a simple 'HelloWorld' Java file,
pack it with Sun's pack200 and then unpack and run it with Harmony's
pack200 implementation for my EclipseCon presentation in a couple of
weeks :-)

http://www.eclipsecon.org/2007/index.php?page=sub/&id=3908

I'll get the code into a bit of a better state and then send in
another patch. Sorry it's taken me a bit longer than I thought -- I
was putting together a presentation for JSig on OSGi using NetBeans
and Swing apps -- the presentation/demos are available at
http://www.eclipsezone.com/files/jsig/ if anyone's tangentially
interested ...

Alex.

Reply via email to