Can't get lambda forest to work

Paul Benedict pbenedict at apache.org
Mon Jun 14 08:44:32 PDT 2010


Yes, the stack trace shows calls to package java.dyn.

On Mon, Jun 14, 2010 at 10:42 AM, Andrew Haley <aph at redhat.com> wrote:
> On 06/14/2010 04:40 PM, Jonathan Gibbons wrote:
>> The error message says to use -XX:+EnableInvokeDynamic
>
> Is invokedynamic being used by this example?
> Anyway, 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=140152714426128
> #  fatal error: Invalid layout of preloaded class
> #
> # JRE version: 7.0
> # Java VM: OpenJDK 64-Bit Server VM (19.0-b01 mixed mode linux-amd64 )
> # An error report file with more information is saved as:
> # /home/aph/hs_err_pid10544.log
> #
> # If you would like to submit a bug report, please visit:
> #   http://java.sun.com/webapps/bugreport/crash.jsp
> #
> Aborted
>
>
>
>> -- Jon
>>
>>
>> On 06/14/2010 08:25 AM, 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?
>>>
>>> Thanks,
>>> Andrew.
>>>
>>>
>>>
>>
>>
>
>
>


More information about the lambda-dev mailing list