Mercurial > hg > graal-compiler
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") \ \