On Wed, 26 Aug 2026 05:55:38 GMT, Shiv Shah <[email protected]> wrote:
> The SA sizes a stack chunk like any fixed size instance, the layout helper > only covers the header part, so the region walk steps into the copied stack > data, fails to parse it as an object and gives up on the rest of the region. > whatever lives after the chunk never makes it into the dump, that is what the > hprof verification failures were. the fix reads the chunk’s own size field > and computes the footprint the same way the vm does, header plus stack plus > the gc bitmap words. the heap dump test comes off the virtual problem list > since it passes now. > > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). > Almost looks good, but it seems to be different from HotSpot implementation. > I think it is better to follow HotSpot manner (including to add methods even > if it is one-liner) as possible for comparing with HotSpot in maintainance. > For example, `InstanceStackChunkKlass::oop_size()` declares as following: > > ```c++ > size_t InstanceStackChunkKlass::oop_size(oop obj) const { > return instance_size(jdk_internal_vm_StackChunk::size(obj)); > } > ``` > > `instance_size()` is here: > > ```c++ > inline size_t InstanceStackChunkKlass::instance_size(size_t > stack_size_in_words) const { > return align_object_size(size_helper() + stack_size_in_words + > gc_data_size(stack_size_in_words)); > } > ``` Thanks. Updated to mirror the hotspot methods. getObjectSize calls instanceSize, which adds gcDataSize from bitmapSize like the c++ side, only the final conversion to bytes differs ------------- PR Comment: https://git.openjdk.org/jdk/pull/32525#issuecomment-5488563308
