RFR: 8368465: [leyden] Improve precompiler method selection code [v5]
Aleksey Shipilev
shade at openjdk.org
Tue Dec 2 11:40:23 UTC 2025
> Forked from [JDK-8366681](https://bugs.openjdk.org/browse/JDK-8366681): there are still some cleanups/performance improvements possible. Current selection code is a bit hairy, and turns out the changes I made for previous patch improve performance.
>
> Notable improvements:
> 1. Push the compilation level filters downwards. This allows compiling A2 from T2/T3 code more easily, and allows to implement policies for compiling on any A* level based on observing top-compiled T* levels.
> 2. Sort methods by hotness and code size. This looks to have a positive effect on shorter workloads, I suspect because we are avoiding a lot of C1 compilations by preloading hottest code first.
>
> Additional testing:
> - [x] Performance tests (see comments)
> - [x] Linux x86_64 server fastdebug, `runtime/cds`
Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
- Merge branch 'premain' into JDK-8368465-precompiler-method-select
- Drop the mention of MDO
- Merge branch 'premain' into JDK-8368465-precompiler-method-select
- Merge branch 'premain' into JDK-8368465-precompiler-method-select
- Touchup
- Touchups
- Fix
-------------
Changes:
- all: https://git.openjdk.org/leyden/pull/99/files
- new: https://git.openjdk.org/leyden/pull/99/files/49f95523..3d298056
Webrevs:
- full: https://webrevs.openjdk.org/?repo=leyden&pr=99&range=04
- incr: https://webrevs.openjdk.org/?repo=leyden&pr=99&range=03-04
Stats: 158648 lines in 2753 files changed: 91357 ins; 50434 del; 16857 mod
Patch: https://git.openjdk.org/leyden/pull/99.diff
Fetch: git fetch https://git.openjdk.org/leyden.git pull/99/head:pull/99
PR: https://git.openjdk.org/leyden/pull/99
More information about the leyden-dev
mailing list