On Fri, 21 Nov 2025 18:49:25 GMT, Matias Saavedra Silva <[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.

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

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

Reply via email to