Can't get lambda forest to work

Andrew Haley aph at redhat.com
Mon Jun 14 09:00:00 PDT 2010


On 06/14/2010 04:53 PM, Maurizio Cimadamore wrote:
> On 14/06/10 16:25, Andrew Haley wrote:
>> This is rev 179:d923ba684bc4 of http://hg.openjdk.java.net/lambda/lambda
>>
>> It doesn't seem to work.  I compile
>>
>> public class Closures
>> {
>>    public static void main(String[] args)
>>    {
>>      #int() fortyTwo = #()(42);
>>
>>      System.out.println("Hello, World!" + fortyTwo.());
>>    }
>> }
>>
>> but it doesn't run:
>>
>> happy:~ $ /local/lambda/build/linux-amd64/j2sdk-image/bin/javac
>> -XDallowFunctionTypes -source 7 Closures.java
>> happy:~ $ /local/lambda/build/linux-amd64/j2sdk-image/bin/java 
>> -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles  -cp . Closures
>> OpenJDK 64-Bit Server VM warning: JSR 292 invokedynamic is disabled in
>> this JVM.  Use -XX:+UnlockExperimentalVMOptions
>> -XX:+EnableInvokeDynamic to enable.
>> Exception in thread "main" java.dyn.NoAccessException: cannot access:
>> *.java.dyn.MethodHandle.invoke()int
>>          at sun.dyn.MemberName.newNoAccessException(MemberName.java:421)
>>          at sun.dyn.MemberName.newNoAccessException(MemberName.java:412)
>>          at sun.dyn.MemberName$Factory.resolveOrFail(MemberName.java:517)
>>          at
>> java.dyn.MethodHandles$Lookup.findVirtual(MethodHandles.java:268)
>>          at sun.dyn.Invokers.exactInvoker(Invokers.java:66)
>>          at sun.dyn.Invokers.genericInvoker(Invokers.java:74)
>>          at java.dyn.MethodHandle.invokeVarargs(MethodHandle.java:354)
>>          at Closures.main(Closures.java:7)
>> happy:~ $ /local/lambda/build/linux-amd64/j2sdk-image/bin/java -version
>> openjdk version "1.7.0-internal"
>> OpenJDK Runtime Environment (build
>> 1.7.0-internal-aph_2010_06_10_17_35-b00)
>> OpenJDK 64-Bit Server VM (build 19.0-b01, mixed mode)
>>
>> Any ideas what might be going wrong, please?
>>    
> 
> You'll need the following VM options:
> 
> -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles
> -XX:+EnableInvokeDynamic

Thanks.  As I said in my previous reply, that doesn't help:

happy:~ $ /local/lambda/build/linux-amd64/j2sdk-image/bin/java  -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles -XX:+EnableInvokeDynamic -cp . Closures
Invalid layout of java.dyn.CallSite at target
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (javaClasses.cpp:48), pid=10544, tid=14015271442

> alternatively, you could use the handy scripts for invoking java/javac
> that should appear in the langtools/dist/bin directory. Those scripts
> automatically sets things up for you.

Thanks, but I can't find those at all.  I can find

/local/lambda/langtools/src/share/bin/java.sh-template

which I guess must be what you mean, but no output file.

Andrew.


More information about the lambda-dev mailing list