mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8199453: Enable link-time generation of constructor forms
Reviewed-by: alanb, psandoz, mchung
This commit is contained in:
parent
10b29b4ca8
commit
d88408c75b
2 changed files with 6 additions and 6 deletions
|
@ -669,6 +669,7 @@ class InvokerBytecodeGenerator {
|
||||||
case PUT_LONG: // fall-through
|
case PUT_LONG: // fall-through
|
||||||
case PUT_FLOAT: // fall-through
|
case PUT_FLOAT: // fall-through
|
||||||
case PUT_DOUBLE: // fall-through
|
case PUT_DOUBLE: // fall-through
|
||||||
|
case DIRECT_NEW_INVOKE_SPECIAL: // fall-through
|
||||||
case DIRECT_INVOKE_INTERFACE: // fall-through
|
case DIRECT_INVOKE_INTERFACE: // fall-through
|
||||||
case DIRECT_INVOKE_SPECIAL: // fall-through
|
case DIRECT_INVOKE_SPECIAL: // fall-through
|
||||||
case DIRECT_INVOKE_STATIC: // 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
|
* Emit a bogus method that just loads some string constants. This is to get the constants into the constant pool
|
||||||
* for debugging purposes.
|
* for debugging purposes.
|
||||||
*/
|
*/
|
||||||
private void bogusMethod(Object... os) {
|
private void bogusMethod(Object os) {
|
||||||
if (DUMP_CLASS_FILES) {
|
if (DUMP_CLASS_FILES) {
|
||||||
mv = cw.visitMethod(Opcodes.ACC_STATIC, "dummy", "()V", null, null);
|
mv = cw.visitMethod(Opcodes.ACC_STATIC, "dummy", "()V", null, null);
|
||||||
for (Object o : os) {
|
mv.visitLdcInsn(os.toString());
|
||||||
mv.visitLdcInsn(o.toString());
|
|
||||||
mv.visitInsn(Opcodes.POP);
|
mv.visitInsn(Opcodes.POP);
|
||||||
}
|
|
||||||
mv.visitInsn(Opcodes.RETURN);
|
mv.visitInsn(Opcodes.RETURN);
|
||||||
mv.visitMaxs(0, 0);
|
mv.visitMaxs(0, 0);
|
||||||
mv.visitEnd();
|
mv.visitEnd();
|
||||||
|
|
|
@ -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",
|
"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",
|
"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",
|
"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")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue