1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Code.java Thu Apr 16 11:23:02 2009 -0700 1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Code.java Mon May 04 21:04:04 2009 -0700 1.3 @@ -456,6 +456,19 @@ 1.4 state.push(mtype.getReturnType()); 1.5 } 1.6 1.7 + /** Emit an invokedynamic instruction. 1.8 + */ 1.9 + public void emitInvokedynamic(int desc, Type mtype) { 1.10 + // N.B. this format is under consideration by the JSR 292 EG 1.11 + int argsize = width(mtype.getParameterTypes()); 1.12 + emitop(invokedynamic); 1.13 + if (!alive) return; 1.14 + emit2(desc); 1.15 + emit2(0); 1.16 + state.pop(argsize); 1.17 + state.push(mtype.getReturnType()); 1.18 + } 1.19 + 1.20 /** Emit an opcode with no operand field. 1.21 */ 1.22 public void emitop0(int op) { 1.23 @@ -2156,7 +2169,7 @@ 1.24 mnem[invokespecial] = "invokespecial"; 1.25 mnem[invokestatic] = "invokestatic"; 1.26 mnem[invokeinterface] = "invokeinterface"; 1.27 - // mnem[___unused___] = "___unused___"; 1.28 + mnem[invokedynamic] = "invokedynamic"; 1.29 mnem[new_] = "new_"; 1.30 mnem[newarray] = "newarray"; 1.31 mnem[anewarray] = "anewarray";