On Wed, 10 Dec 2025 19:17:55 GMT, Coleen Phillimore <[email protected]> wrote:
>> src/hotspot/share/cds/aotStreamedHeapWriter.cpp line 393: >> >>> 391: narrowKlass nk = >>> ArchiveBuilder::current()->get_requested_narrow_klass(src_klass); >>> 392: >>> 393: markWord mw = Arguments::enable_preview() ? >>> src_klass->prototype_header() : markWord::prototype(); >> >> Why is `Arguments::enable_preview()` check necessary here but not in >> aotMappedHeapWriter.cpp? > > Yes, these should fail too. > Edit. No they don't fail because they test Universe::objectArrayKlass() > which is a default RefArrayKlass and that class doesn't set any special > flattening or other bits in the markWord, so markWord::prototype() is okay > there. But this code is confusing and fragile and should be rewritten. It should be refactored in mainline now that Valhalla uses Klass::_prototype_header, like COH, we should always use it unconditionally for object allocation. ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1784#discussion_r2608160643
