On Fri, 3 Oct 2025 19:23:05 GMT, Coleen Phillimore <[email protected]> wrote:

>> is_larval_state() is a status that is specific to a particular instance, and 
>> cannot be retrieved from another source, and this is why it must be 
>> preserved. is_inline_type(), is_flat_array() and is_null_free_array() are 
>> all properties than can be retrieved from the K-klass. So I'm not sure why 
>> they have been added here.
>
> The bug was that in parallelGC it is unsafe to retrieve the K-Klass to find 
> these properties to re-initialize the moved object.  The moved object has 
> written over the markWord because it's not preserved.  Adding the code that 
> we must preserve the mark word because these bits matter fixes the bug 
> because then the moved object will have these bits.

Replying to myself: The answer seems to be in the comment in oop.inline.hpp:98, 
but it would be nice to know the exact reason.

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1655#discussion_r2403126456

Reply via email to