-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
-
None
http://hg.openjdk.java.net/jdk/jdk/file/8ada048df69d/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java#l704
It can return null in certain cases:
if (form.customized != null) {
// No pre-generated version for customized LF
return null; <<<<<<
}
switch (form.kind) {
case XXXX: return resolveFrom(xxxx);
case YYYY: return resolveFrom(yyyy ....);
}
return null; <<<<<<
As a result, forJDK-8247536, we cannot pre-generate all the needed code for "javac HelloWorld.java". About 8 classes are dynamically generated at runtime -- 1 for the first case and 7 for the second case
---------
Supporting (form.customized != null) will be hard. However, for the second case, maybe we are missing some cases in the switch statement that can be implemeted?
It can return null in certain cases:
if (form.customized != null) {
// No pre-generated version for customized LF
return null; <<<<<<
}
switch (form.kind) {
case XXXX: return resolveFrom(xxxx);
case YYYY: return resolveFrom(yyyy ....);
}
return null; <<<<<<
As a result, for
---------
Supporting (form.customized != null) will be hard. However, for the second case, maybe we are missing some cases in the switch statement that can be implemeted?
- relates to
-
JDK-8293336 AOT-linking of invokedynamic for lambda expression and string concat
- Closed
-
JDK-8086045 Improve the java.lang.invoke first initialization costs
- Resolved
-
JDK-8247536 Support for pre-generated java.lang.invoke classes in CDS static archive
- Resolved