harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Blewitt" <alex.blew...@gmail.com>
Subject Re: [classlib][pack200] Status update - able to parse (some) bytecode now
Date Tue, 27 Feb 2007 23:26:46 GMT
On 20/02/07, Alex Blewitt <alex.blewitt@gmail.com> wrote:
> 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).

I've addressed this issue, and I can now generate a subset of the
bytecode (e.g. getstatic/putstatic/invokevirtual/areturn etc.) from an
input pack file into an output Jar. There's still the tricky problem
of the arguments; essentially, each argument type (e.g. methodref,
classref, constant pool) is encoded in their own separate set of bands
which I've yet to decode/overlay).

So, whilst the EclipseCon deadline of a 'hello world' isn't that far
off, it's only going to work with a particular special set of bytecode
(though I should be able to change the message and re-run it to show
it's not a pre-recorded demo). But I want to set everyone's
expectations suitably low, because although I may have reached the
peak of the complexity, I've still got to come down the other side and
pick up all the remnants that are yet to be done. I don't see a full
implementation any time soon -- and I've been off for about a week
recently too.

Whilst I'm at EclipseCon with the wireless, I'll spend some spare time
creating/submitting a patch for the work that's done so far. I'll then
be off for a holiday and will pick up the trail again towards the end
of March ...


View raw message