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