--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Wed Jul 05 16:51:35 2017 +0200
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Mon May 04 21:04:04 2009 -0700
@@ -456,6 +456,19 @@
state.push(mtype.getReturnType());
}
+ /** Emit an invokedynamic instruction.
+ */
+ public void emitInvokedynamic(int desc, Type mtype) {
+ // N.B. this format is under consideration by the JSR 292 EG
+ int argsize = width(mtype.getParameterTypes());
+ emitop(invokedynamic);
+ if (!alive) return;
+ emit2(desc);
+ emit2(0);
+ state.pop(argsize);
+ state.push(mtype.getReturnType());
+ }
+
/** Emit an opcode with no operand field.
*/
public void emitop0(int op) {
@@ -2156,7 +2169,7 @@
mnem[invokespecial] = "invokespecial";
mnem[invokestatic] = "invokestatic";
mnem[invokeinterface] = "invokeinterface";
- // mnem[___unused___] = "___unused___";
+ mnem[invokedynamic] = "invokedynamic";
mnem[new_] = "new_";
mnem[newarray] = "newarray";
mnem[anewarray] = "anewarray";