On Mon, 9 Sep 2024 22:53:28 GMT, Claes Redestad <redes...@openjdk.org> wrote:
> Misc improvements to InnerClassLambdaMetafactory and InvokerBytecodeGenerator: > - Define `ClassEntry` early, use it when profitable (there are some warts in > the API where using `ce.name(), ce.type()` in a few places means we drop the > link to the `ClassDesc` which will then be re-spun in later - should be > revisited) > - Use `mh.invokeBasic()` for zero-arg non-capturing lambda constructor > calls(!) > - Narrow name validation to the name passed in > - We were calling `classDesc` twice per factoryType argument, refactored to > reuse `argDescs`. > > Interpreter instrumentation sees 1.5% less bytecode executed on netty startup > tests, -2.5% on minimal lambda test. Part of the > https://bugs.openjdk.org/browse/JDK-8338542 ClassFile API startup work. After all, this patch will still be valid with ClassEntry hash updates. ------------- Marked as reviewed by liach (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/20925#pullrequestreview-2292533283