bootstrap methods in the constant pool

John Rose john.r.rose at oracle.com
Tue Jul 13 10:07:37 PDT 2010


On Jul 12, 2010, at 7:59 PM, John Rose wrote:

> Folks, the 292 EG has decided to register bootstrap methods in the constant pool, instead of via a call from the <clinit> method.
> 
> Here's a summary of constant pool formats as of the latest push to mlvm.

And here's a correction, thanks to Remi:

On Jul 13, 2010, at 3:40 AM, Rémi Forax wrote:

>> u2 NameAndType ref_index
> 
> where is the declaring class of the MethodHandle ?

Oops; "NameAndType" is a mistake.  That bit is supposed to summarize the Javadoc I sent earlier.  The index is actually a CONSTANT_Fieldref, CONSTANT_Methodref, or CONSTANT_InterfaceMethodref, depending in the ref_kind.  It is not a CONSTANT_NameAndType.

Change the summary to:
- u2 NameAndType ref_index
+ u2 ( Fieldref | Methodref | InterfaceMethodref ) ref_index 

The javadoc regarding the ldc/MH feature is unchanged.

http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/java/dyn/package-summary.html

-- John


More information about the mlvm-dev mailing list