8199453: Enable link-time generation of constructor forms

Reviewed-by: alanb, psandoz, mchung
This commit is contained in:
Claes Redestad 2018-03-12 18:31:02 +01:00
parent 10b29b4ca8
commit d88408c75b
2 changed files with 6 additions and 6 deletions

View File

@ -669,6 +669,7 @@ class InvokerBytecodeGenerator {
case PUT_LONG: // fall-through
case PUT_FLOAT: // fall-through
case PUT_DOUBLE: // fall-through
case DIRECT_NEW_INVOKE_SPECIAL: // fall-through
case DIRECT_INVOKE_INTERFACE: // fall-through
case DIRECT_INVOKE_SPECIAL: // fall-through
case DIRECT_INVOKE_STATIC: // fall-through
@ -1864,13 +1865,11 @@ class InvokerBytecodeGenerator {
* Emit a bogus method that just loads some string constants. This is to get the constants into the constant pool
* for debugging purposes.
*/
private void bogusMethod(Object... os) {
private void bogusMethod(Object os) {
if (DUMP_CLASS_FILES) {
mv = cw.visitMethod(Opcodes.ACC_STATIC, "dummy", "()V", null, null);
for (Object o : os) {
mv.visitLdcInsn(o.toString());
mv.visitInsn(Opcodes.POP);
}
mv.visitLdcInsn(os.toString());
mv.visitInsn(Opcodes.POP);
mv.visitInsn(Opcodes.RETURN);
mv.visitMaxs(0, 0);
mv.visitEnd();

View File

@ -147,7 +147,8 @@ public final class GenerateJLIClassesPlugin implements Plugin {
"L_I", "L_L", "L_V", "LD_L", "LF_L", "LI_I", "LII_L", "LLI_L",
"LL_V", "LL_L", "L3_L", "L4_L", "L5_L", "L6_L", "L7_L",
"L8_L", "L9_L", "L10_L", "L10I_L", "L10II_L", "L10IIL_L",
"L11_L", "L12_L", "L13_L", "L14_L", "L14I_L", "L14II_L")
"L11_L", "L12_L", "L13_L", "L14_L", "L14I_L", "L14II_L"),
DMH_NEW_INVOKE_SPECIAL, Set.of("L_L", "LL_L")
);
}