exception running JDK 8 test program
Thomas Wuerthinger
thomas.wuerthinger at oracle.com
Thu Feb 14 13:43:52 PST 2013
Using VM options "-XX:+UnlockDiagnosticVMOptions -XX:+EnableInvokeDynamic" should work. I guess we should use "true" as the default flag value.
- thomas
On Feb 14, 2013, at 1:09 PM, "Frost, Gary" <Gary.Frost at amd.com> wrote:
> Obviously ConstantPool tag 18 is MethodHandle. So this relates to the support for MethodHandles in classfiles.
>
> Gary
>
>
>
> -----Original Message-----
> From: graal-dev-bounces at openjdk.java.net [mailto:graal-dev-bounces at openjdk.java.net] On Behalf Of Venkatachalam, Vasanth
> Sent: Thursday, February 14, 2013 2:49 PM
> To: graal-dev at openjdk.java.net
> Subject: exception running JDK 8 test program
>
> Hi,
>
> When running the following JDK8 program (which has a lambda expression) in Graal, the VM throws the below exception and exits.
> We know that Graal doesn't yet support the compilation of lambda constructs, but we would have expected the execution to have fallen back to the Hotspot compiler/interpreter instead of simply failing.
> Any workarounds for this?
>
> public class Twelve{
> interface SAM{
> void run(int _id);
> }
>
> public static void For(int _count, SAM _sam){
> for (int id = 0; id<_count; id++){
> _sam.run(id);
> }
> }
>
> public static void main(String[] _args) {
> For(12, value ->{System.out.printf("%d * %d = %d\n", value, 12, (value*12));});
> }
> }
>
> Exception in thread "main" java.lang.ClassFormatError: This JVM does not support constant tag 18 in class file com/amd/aparapi/sample/mandel/Main
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:491)
>
>
>
More information about the graal-dev
mailing list