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.

This pull request has now been integrated.

Changeset: c246ede1
Author:    Claes Redestad <redes...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/c246ede163d675cfdacf741565195751981afb41
Stats:     26 lines in 2 files changed: 5 ins; 1 del; 20 mod

8339799: Reduce work done in j.l.invoke bytecode generators

Reviewed-by: liach

-------------

PR: https://git.openjdk.org/jdk/pull/20925

Reply via email to