review request (L): 6984311 JSR 292 needs optional bootstrap method parameters

John Rose john.r.rose at oracle.com
Mon Nov 22 18:57:56 PST 2010


Because of a strong and reasonable request from the IBM JVM team, the JSR 292 class file format for CONSTANT_InvokeDynamic is changing one more time.  The current format looks like this:

	struct { u1 tag = 18, u2 bsm: MethodHandle, u2 nt: NameAndType, u2 argc, u2 argv[argc] }

The new format will look like this:

	struct { u1 tag = 18, u2 bsm_spec: MethodHandle, u2 nt: NameAndType }

The bsm_spec will be an index into an explicit side-table in the class file, containing an array of the same information as before (MethodHandle, argc, argv[argc]).  The side-table will be a new attribute named "BootstrapMethods".

This format change will make the class file format a easier to parse by some JVMs (such as J9).

I will be putting out a review request soon for this.

-- John

On Nov 2, 2010, at 2:38 AM, Christian Thalinger wrote:

> On Oct 30, 2010, at 9:08 PM, John Rose wrote:
>> ...
>> Thanks.  I am updating the webrev:
>>   http://cr.openjdk.java.net/~jrose/6984311/webrev.03/
> 
> Looks good.  -- Christian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20101122/83233f84/attachment.html 


More information about the hotspot-compiler-dev mailing list