changeset 7790:2c6d04c5e60f

Enable invokedynamic and make bytecode known to Graal.
author Andreas Woess <andreas.woess@jku.at>
date Fri, 15 Feb 2013 00:43:40 +0100
parents af07019db85d
children fe1187115167
files graal/com.oracle.graal.bytecode/src/com/oracle/graal/bytecode/Bytecodes.java graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java src/share/vm/runtime/globals.hpp
diffstat 3 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.bytecode/src/com/oracle/graal/bytecode/Bytecodes.java	Wed Feb 13 18:46:24 2013 +0100
+++ b/graal/com.oracle.graal.bytecode/src/com/oracle/graal/bytecode/Bytecodes.java	Fri Feb 15 00:43:40 2013 +0100
@@ -226,7 +226,7 @@
     public static final int INVOKESPECIAL        = 183; // 0xB7
     public static final int INVOKESTATIC         = 184; // 0xB8
     public static final int INVOKEINTERFACE      = 185; // 0xB9
-    public static final int XXXUNUSEDXXX         = 186; // 0xBA
+    public static final int INVOKEDYNAMIC        = 186; // 0xBA
     public static final int NEW                  = 187; // 0xBB
     public static final int NEWARRAY             = 188; // 0xBC
     public static final int ANEWARRAY            = 189; // 0xBD
@@ -552,7 +552,7 @@
         def(INVOKESPECIAL       , "invokespecial"   , "bjj"  , 5, TRAP | INVOKE);
         def(INVOKESTATIC        , "invokestatic"    , "bjj"  , 5, TRAP | INVOKE);
         def(INVOKEINTERFACE     , "invokeinterface" , "bjja_", 7, TRAP | INVOKE);
-        def(XXXUNUSEDXXX        , "xxxunusedxxx"    , ""     , 0);
+        def(INVOKEDYNAMIC       , "invokedynamic"   , "bjjjj", 7, TRAP | INVOKE);
         def(NEW                 , "new"             , "bii"  , 6, TRAP);
         def(NEWARRAY            , "newarray"        , "bc"   , 6, TRAP);
         def(ANEWARRAY           , "anewarray"       , "bii"  , 6, TRAP);
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java	Wed Feb 13 18:46:24 2013 +0100
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java	Fri Feb 15 00:43:40 2013 +0100
@@ -345,7 +345,8 @@
                 case INVOKEINTERFACE:
                 case INVOKESPECIAL:
                 case INVOKESTATIC:
-                case INVOKEVIRTUAL: {
+                case INVOKEVIRTUAL:
+                case INVOKEDYNAMIC: {
                     current = null;
                     addSuccessor(bci, makeBlock(stream.nextBCI()));
                     ExceptionDispatchBlock handler = handleExceptions(bci);
--- a/src/share/vm/runtime/globals.hpp	Wed Feb 13 18:46:24 2013 +0100
+++ b/src/share/vm/runtime/globals.hpp	Fri Feb 15 00:43:40 2013 +0100
@@ -3588,7 +3588,7 @@
   product(uintx, SharedDummyBlockSize, 0,                                   \
           "Size of dummy block used to shift heap addresses (in bytes)")    \
                                                                             \
-  diagnostic(bool, EnableInvokeDynamic, false,                              \
+  diagnostic(bool, EnableInvokeDynamic, true,                               \
           "support JSR 292 (method handles, invokedynamic, "                \
           "anonymous classes")                                              \
                                                                             \