Re: Re: Re: Re: bootstrap methods in the constant pool

Eugene Kuleshov <[email protected]>
Newsgroups gmane.comp.java.objectweb.asm
Message-ID <[email protected]>
On Tue, Jul 13, 2010 at 9:55 AM, Rémi Forax <[email protected]> wrote:

>>  Perhaps we could split it into two visit calls...
> yes, but in that case we loose backward compatibility.

  Backward compatibility to what?

>> or introduce a micro language, e.g. in desc field.
> you mean in owner field, invokedynamic has no owner.

  Either one.

>>  BTW, what would be the meaning of bootstrap method pointing to a method
>> handle of get/putField or get/putStatic type?
> This is not allowed.

  The data structures allow that.

>>  An alternative way to represent bootstrap method in the bytecode could be
>> to introduce a new attribute at the class, method and code level. This would
>> be also closer to semantic John is suggesting. Though that way you couldn't
>> enforce constrains on a pretense of the bootstrap methods, but that can be
>> done in the verifier.
>
> This is not the way chosen by the JSR 292 expert group,
> and creating of fake attribute will trouble ASM users.

  Is that a final decision? Or there is still change the expert group
could reconsider?

> In my opinion, the only valid path is to introduce a new method
> visitInvokeDynamicMethodInsn(int refType, String boostrapOwner, String
> bootstrapName, String bootstrapDesc, String invokedynamicName, String
> invokeDynamicDesc)

  All bytecode structures are attributes. I wonder if we can expose
just attributes and allow creating wrapper visitors that would
translate a high-level calls like you suggested into an attribute
construction.

  regards,
  Eugene
message-footer.txt (text/plain, 238 B)
-- 
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.