Integrated: 8339642: Reduce overheads in InvokerBytecodeGenerator

Claes Redestad redestad at openjdk.org
Fri Sep 6 12:40:55 UTC 2024


On Fri, 6 Sep 2024 10:01:39 GMT, Claes Redestad <redestad at openjdk.org> wrote:

> - A small portion (~5%) of the instrumented overhead when spinning MH/LF classes in `InvokeBytecodeGenerator` comes from creating the exact same `RuntimeVisibleAnnotationsAttribute` for every method. Introducing a couple of constants has a small but measurable impact.
> - `classDesc(MemberName.class)` is called ~8000 times during an OpenJDK build, `classDesc(MethodType.class)` ~900 - special casing looks profitable
> - Class name validation narrowed down, use ReferenceClassDescImpl.ofValidated
> - Various minor optimizations helping reduce bytecode size and speed up interpreter execution

This pull request has now been integrated.

Changeset: d2b36f09
Author:    Claes Redestad <redestad at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/d2b36f09072e03370ee02b063fcc4a1f0e6cb2ee
Stats:     75 lines in 2 files changed: 30 ins; 32 del; 13 mod

8339642: Reduce overheads in InvokerBytecodeGenerator

Reviewed-by: liach

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

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


More information about the core-libs-dev mailing list