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