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