RFR: 8305898: Alternative self-forwarding mechanism

Roman Kennke rkennke at openjdk.org
Thu Aug 22 09:47:03 UTC 2024


On Thu, 22 Aug 2024 09:32:10 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

>> The else if part is needed when we later turn on UseCompactObjectHeaders, because the "normal" forwarding pointers then destroy the klass pointers, causing the object_iterate to fail to read the size of the objects.
>
>> What happens to successfully-promoted objects? ...
> 
> Successfully-forwarded objs are don't live in eden/from spaces, which are the spaces this closure is applied on. One can't have assert here, because as we iterate over eden/from spaces, we will encounter successfully-forwarded objs, but they should just be skipped.
> 
>> The else if part is needed when we later turn on UseCompactObjectHeaders...
> 
> I believe so, but it should be in the UseCompactObjectHeaders PR, not this one.

Ok, thanks for the explanation!

I don't think it's needed for the UCOH part - the iterator fetched Klass*/size from forwardee if it encounters forwarded objects.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20603#discussion_r1726724977


More information about the hotspot-gc-dev mailing list