RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v8]
Thomas Schatzl
tschatzl at openjdk.org
Fri Sep 13 11:15:15 UTC 2024
On Fri, 13 Sep 2024 09:00:32 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
>> src/hotspot/share/oops/oop.cpp line 230:
>>
>>> 228: // disjunct below to fail if the two comparands are computed across such
>>> 229: // a concurrent change.
>>> 230: return Universe::heap()->is_stw_gc_active() && klass->is_objArray_klass() && is_forwarded() && (UseParallelGC || UseG1GC);
>>
>> Is this still true after the recent changes like JDK-8311163? It might be worth waiting for.
>
> That bug doesn't fix all cases where the the length field is modified.
Which ones are remaining? JDK-8337709 implemented the same change for G1 GC before JDK-8311163.
The full collectors/g1 marking do not modify the length fields but have multiple separate queues which is a different issue. It will also be handled by the new `PartialArrayTaskStepper`, but should be of no concern here.
If I am not missing some case, this whole method is unnecessary now.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20677#discussion_r1758672296
More information about the serviceability-dev
mailing list