java@gcc.gnu.org
[Top] [All Lists]

Re: java disassembler/assembler

Subject: Re: java disassembler/assembler
From: Per Bothner
Date: Sat, 22 Oct 2005 14:50:05 -0700
Daniel Reynaud wrote:
Hello again,

Thank you all for your comments, they have given me a certain number of ideas.
Here is what I have already implemented in Jasmin :

- use of offsets or labels for branch targets, local variable visibility, exception handlers...

It's useful if a disassembler prints offet (pc) of every instruction.
It might be optional, but I'd prefer for eth default to be on.
I suggest:
  NNN: instruction
The assembler can treat numbers as labels.  It should print a warning if
the numeric label doesn't match the pc - bu only once per method.

- same thing for the EnclosingMethod attribute :
.enclosing method "some/package/Foo/someMethod(I)V"
or
.enclosing method "some/package/Foo"

It would be nice to have an option to print methods, classesm
and signatures in external (Java) syntax, rather than as signatures

Here is what I do NOT plan to implement for the moment
- annotations. Unless someone finds a nice and smart syntax ;)
- constant pool edition. I know it would be great but it's just too much work for the moment. However, I think it would be possible to explicitly add some items to the constant pool (but not too sure it's really useful...)

If you want to create a replacement for jcf-dump should have an
option to print out the constant pool, and to display constant
pool indexes when printing instructions etc.  This probably
shouldn't be the default (it no longer i in jcf-dump), and it's
not requiried that the assembler be able parse a priinted
contant pool, but that would be nice.
--
        --Per Bothner
per@xxxxxxxxxxx   http://per.bothner.com/

<Prev in Thread] Current Thread [Next in Thread>