-
Enhancement
-
Resolution: Fixed
-
P4
-
9, 10
-
None
-
b05
The amount of temporary objects created during bootstrapping of various java.lang.invoke entities can be reduced, e.g.:
- no need to generate the signature strings in BoundMethodHandle.makeCbmhCtor
- trusted MethodType lookups could be promoted without constructing new instances
- InvokerBytecodeGenerator: creation of debug-only CLASS_PREFIX + className can be avoided, and sourceFile is used at most once and should not be eagerly created
- A lot of array creation during startup in various varargs methods - while a larger rewrite might be warranted we can improve startup by constant-izing a few select, oft-used variants.
- no need to generate the signature strings in BoundMethodHandle.makeCbmhCtor
- trusted MethodType lookups could be promoted without constructing new instances
- InvokerBytecodeGenerator: creation of debug-only CLASS_PREFIX + className can be avoided, and sourceFile is used at most once and should not be eagerly created
- A lot of array creation during startup in various varargs methods - while a larger rewrite might be warranted we can improve startup by constant-izing a few select, oft-used variants.