Can't get lambda forest to work
Andrew Haley
aph at redhat.com
Tue Jun 15 01:29:17 PDT 2010
On 06/14/2010 06:52 PM, Rémi Forax wrote:
> Le 14/06/2010 18:58, Andrew Haley a écrit :
>> On 06/14/2010 05:39 PM, Andrew Haley wrote:
>>
>>> On 06/14/2010 05:28 PM, Maurizio Cimadamore wrote:
>>>
>>>> I tried launching the 'java' launcher from a recently built lambda repo;
>>>> I added the options:
>>>>
>>>> -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles
>>>> -XX:+EnableInvokeDynamic
>>>>
>>>>
>>>> and that seemed to work, at least it did for me. I noticed you are using
>>>> a 64-bit setting, while I'm on 32-bit, could that be the issue?
>>>>
>>> Maybe. I'm just going to step through the VM in a debugger and have a look.
>>> I'll let you know what I find. :-)
>>>
>> OK, I found. The VM is looking for java_dyn_CallSite.target
>> in java_dyn_CallSite::compute_offsets()
>>
>> in the Lambda forest, this field is commented out:
>>
>> /*
>>
>> // Fields used only by the JVM. Do not use or change.
>> private Object vmmethod;
>> int callerMID, callerBCI; // supplied by the JVM
>>
>> private MethodHandle target;
>>
>> final Object caller; // usually a class
>> final String name;
>> final MethodType type;
>> */
>>
>> but this code was commented out in this change:
>>
>> user: jrose
>> date: Thu Jan 07 16:16:45 2010 -0800
>> summary: 6914665: update jdk code for JSR 292 (post 6858164)
>>
>> Cc'ing hotspot-dev in the hope of enlightenment...
>
> This is a known bug :)
> Since b95, John Rose commits support for lightweight callsite (among
> other things)
> but forget to commit the JDK runtime part.
>
> see http://mail.openjdk.java.net/pipermail/mlvm-dev/2010-May/001728.html
> for a workaround.
OK, thanks.
Andrew.
More information about the lambda-dev
mailing list