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