RFR: 8368095: [leyden] Fix klass dependency recording
Aleksey Shipilev
shade at openjdk.org
Fri Sep 19 13:36:41 UTC 2025
On Fri, 19 Sep 2025 13:16:32 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> See the bug for symptoms. https://github.com/openjdk/leyden/commit/7b7648a4c9f67be509c6fccbcbc0502648388fdc exposed that our dependency recording is not actually accurate. Now that we check that precompiled tasks have dependencies recorded, before we treat class IK as fully initialized, _missing dependencies_ lead to premature replacement of AP4 -> A4, and potential trap from A4.
>
> Additional testing:
> - [x] Linux x86_64 server fastdebug, `runtime/cds`
> - [ ] Benchmarks
Javac benchmark:
Benchmark 1: build/linux-x86_64-server-release/images/jdk/bin/java -Xms64m -Xmx1g -XX:+UseSerialGC \
-cp JavacBenchApp.jar -XX:AOTCache=app.aot JavacBenchApp 50
# 506af854234ed9eeec5543e60f2a0d41b73bc93d
Time (mean ± σ): 331.7 ms ± 2.3 ms [User: 660.7 ms, System: 104.6 ms]
Range (min … max): 328.4 ms … 335.2 ms 10 runs
# current premain
Time (mean ± σ): 567.5 ms ± 16.5 ms [User: 1757.1 ms, System: 149.9 ms]
Range (min … max): 547.0 ms … 599.3 ms 10 runs
# this PR
Time (mean ± σ): 355.1 ms ± 2.4 ms [User: 692.8 ms, System: 100.7 ms]
Range (min … max): 351.6 ms … 358.4 ms 10 runs
quarkus-getting-started:
$ taskset -c 0-0 make ... compare_premain_builds
Run,Old CDS + AOT,New CDS + AOT
1,425,318
2,415,315
3,410,319
4,421,310
5,424,311
6,412,332
7,411,326
8,422,319
9,413,334
10,431,320
Geomean,418.35,320.31 (1.31x improvement)
Stdev,6.79,7.66
-------------
PR Comment: https://git.openjdk.org/leyden/pull/97#issuecomment-3312219465
PR Comment: https://git.openjdk.org/leyden/pull/97#issuecomment-3312223611
More information about the leyden-dev
mailing list