[lworld] RFR: 8370904: [lworld] Enable CDS heap dumping

Frederic Parain fparain at openjdk.org
Mon Dec 15 21:04:59 UTC 2025


On Mon, 15 Dec 2025 20:55:28 GMT, Frederic Parain <fparain at openjdk.org> wrote:

>> CDS heap dumping was manually disabled in lworld due to the method in which the migrated value classes were added to the JDK. Migrated value classes were added through module patching which is incompatible with CDS heap dumping, but now since they are added through jimage, we can re-enable CDS heap dumping and related features that rely on it.
>> 
>> AOT adds some complexity to this as it loads and links classes in VM startup, so alternate code paths need to be considered. Signature calling conventions are stored in adapters which are archived in the AOT code cache, but they aren't usable at runtime, so they need to be regenerated even if we don't regenerate the adapters.
>
> src/hotspot/share/cds/aotMetaspace.cpp line 586:
> 
>> 584:         case ztos: new_code = Bytecodes::_fast_bgetfield; break;
>> 585:         case atos: {
>> 586:           if (rfe->is_flat() || rfe->is_null_free_inline_type()) {
> 
> null-free getfields are not rewritten to fast_vgetfield, but to fast_agetfield, because there's no additional check on read.

Precision: null-free non-flat getfields are not rewritten to fast_vgetfield, but to fast_agetfield, because there's no additional check on read.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1757#discussion_r2620838470


More information about the valhalla-dev mailing list