RFR: 8368095: [leyden] Fix klass dependency recording [v3]
Aleksey Shipilev
shade at openjdk.org
Fri Sep 19 13:57:05 UTC 2025
> 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.
>
> I see there are several missing things:
> 1. We need to record dependencies on object klasses as well, not only on plain metadata.
> 2. Since ciObjectFactory is shared, we need to notice objects/metadata even on cache hits.
> 3. It looks like we need to observe dependencies even when `cik->is_initialized()` returns `false` at the moment.
>
> Additional testing:
> - [x] Linux x86_64 server fastdebug, `runtime/cds`
> - [ ] Benchmarks
Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
Revert "Retract some unneccesary paths"
This reverts commit cb48aacac9d7915e6fd890398020442aedac7948.
-------------
Changes:
- all: https://git.openjdk.org/leyden/pull/97/files
- new: https://git.openjdk.org/leyden/pull/97/files/cb48aaca..5039f929
Webrevs:
- full: https://webrevs.openjdk.org/?repo=leyden&pr=97&range=02
- incr: https://webrevs.openjdk.org/?repo=leyden&pr=97&range=01-02
Stats: 10 lines in 2 files changed: 4 ins; 0 del; 6 mod
Patch: https://git.openjdk.org/leyden/pull/97.diff
Fetch: git fetch https://git.openjdk.org/leyden.git pull/97/head:pull/97
PR: https://git.openjdk.org/leyden/pull/97
More information about the leyden-dev
mailing list