On Mon, 15 Dec 2025 20:55:28 GMT, Frederic Parain <[email protected]> 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

Reply via email to