RFR: 8368465: [leyden] Improve precompiler method selection code [v6]

Aleksey Shipilev shade at openjdk.org
Wed Dec 3 13:58:45 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 incrementally with three additional commits since the last revision:

 - More cosmetics
 - Improve compile ID sorting
 - Revert sorting by method count

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

Changes:
  - all: https://git.openjdk.org/leyden/pull/99/files
  - new: https://git.openjdk.org/leyden/pull/99/files/3d298056..fc30a139

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=leyden&pr=99&range=05
 - incr: https://webrevs.openjdk.org/?repo=leyden&pr=99&range=04-05

  Stats: 60 lines in 3 files changed: 14 ins; 35 del; 11 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