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/
|