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