review request (L): 7001424: implement JSR 292 EG adjustments, November 2010

John Rose john.r.rose at oracle.com
Thu Dec 16 13:26:30 PST 2010


On Dec 16, 2010, at 4:47 AM, Rémi Forax wrote:

> Le 16/12/2010 13:04, John Rose a écrit :
>> This is a JDK-only change request, in response to the last several weeks of JSR 292 EG work.
>> 
>> http://cr.openjdk.java.net/~jrose/7001424/webrev.00/
>> 
>> May I have an eyeball or two, please?
>> 
>> Thanks,
>> -- John
>> 
>> P.S.  The corresponding updated javadoc is in the usual place:
>>   http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm
>> 
> 
> In MethodHandles, why do you test method types using equals and not ==,
> method type aren't interned anymore ?

They are interned in the impl, not in the spec.  I'm switching over to .equals incrementally.

> In VolatileCallSite,
> 
> invalidateAll(List<VolatileCallSite>  sites)
> should be
> invalidateAll(List<? extends VolatileCallSite>  sites)

I deleted that method (with VCS.fallback, etc.).  I think there was a stale reference in Linkage.

> In Switcher, invalidateAll should not use foreach:
> 
>  public static void invalidateAll(Switcher[] switchers) {
>        MutableCallSite[] sites = new MutableCallSite[switchers.length];
>        for (int i=0; i<switchers.length; i++) {
>            Switcher switcher = switchers[i];
>            sites[i] = switcher.mcs;
>            switcher.mcs.setTarget(K_false);
>        }
>        MutableCallSite.sync(sites);
>  }


Done.

-- John


More information about the mlvm-dev mailing list