[master] RFR: 8319724: [Lilliput] ParallelGC: Forwarded objects found during heap inspection
Roman Kennke
rkennke at openjdk.org
Wed Nov 8 16:54:24 UTC 2023
On Wed, 8 Nov 2023 16:12:02 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> This is the Lilliput variant of [JDK-8319376](https://bugs.openjdk.org/browse/JDK-8319376). With Lilliput we need special treatment of the fix, because the iterator needs to access the Klass*, which it can only get via the forwardee.
>>
>> Testing:
>> - [x] gc/logging/TestUnifiedLoggingSwitchStress.java +UseParallelGC +UCOH
>> - [x] gc/logging/TestUnifiedLoggingSwitchStress.java +UseParallelGC -UCOH
>> - [ ] hotspot_gc +UCOH
>> - [ ] tier1 +UCOH
>> - [ ] tier2 +UCOH
>
> src/hotspot/share/gc/parallel/mutableSpace.cpp line 254:
>
>> 252: p += obj->forwardee()->size();
>> 253: } else {
>> 254: p += obj->size();
>
> Is this just `oopDesc::forward_safe_size()`?
kinda, yeah, but optimized to avoid the UCOH check for every object and do it once outside of the loop, which is probably important in the object iterator.
-------------
PR Review Comment: https://git.openjdk.org/lilliput/pull/116#discussion_r1386926175
More information about the lilliput-dev
mailing list