RFR: 8339642: Reduce overheads in InvokerBytecodeGenerator
Claes Redestad
redestad at openjdk.org
Fri Sep 6 10:07:22 UTC 2024
- 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
-------------
Commit messages:
- Reduce overheads in InvokerBytecodeGenerator
Changes: https://git.openjdk.org/jdk/pull/20887/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20887&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8339642
Stats: 75 lines in 2 files changed: 30 ins; 32 del; 13 mod
Patch: https://git.openjdk.org/jdk/pull/20887.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/20887/head:pull/20887
PR: https://git.openjdk.org/jdk/pull/20887
More information about the core-libs-dev
mailing list