RFR: 8355334: [leyden] Missing type profile info in archived training data

Aleksey Shipilev shade at openjdk.org
Wed Apr 23 06:08:06 UTC 2025


On Tue, 22 Apr 2025 22:32:52 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

> There's a regression from #56 which causes pruning of all type profiles from archived training data. It severely affects quality of compiled code.
> 
> Proposed fix removes only excluded classes.
> 
> Testing: hs-tier1 - hs-tier2, JavacBench

This is a great find. I believe this is responsible for the remaining major artifact in Persistent Profiles experiment.

Before fix:
![pp-before-fix](https://github.com/user-attachments/assets/03eaae48-a1f1-4243-ab79-2a23c53543bd)

After fix:
![pp-after-fix](https://github.com/user-attachments/assets/be67af6b-d245-49e8-8b33-7bdde5771302)

src/hotspot/share/oops/methodData.cpp line 329:

> 327:       CDSConfig::is_dumping_archive() &&
> 328:       CDSConfig::current_thread_is_vm_or_dumper()) {
> 329:     if (k->is_instance_klass() && InstanceKlass::cast(k)->is_loaded() == false) {

Suggestion:

    if (k->is_instance_klass() && !InstanceKlass::cast(k)->is_loaded()) {

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

Marked as reviewed by shade (Committer).

PR Review: https://git.openjdk.org/leyden/pull/59#pullrequestreview-2786000917
PR Review Comment: https://git.openjdk.org/leyden/pull/59#discussion_r2055292483


More information about the leyden-dev mailing list