On Fri, 13 Mar 2026 09:17:09 GMT, Stefan Karlsson <[email protected]> wrote:

>> The current lworld branch has code that visits the 
>> ObjArrayKlass::_element_klass. The element klass and the array klass are 
>> both allocated in the same CLD, so there's no need for the GC to spend extra 
>> work also trying to keep the element klass alive. 
>> 
>> The patch also contains some tiny reverts and cleanups that I saw while 
>> diffing the GC code in the lworld branch.
>> 
>> The patch depends on the #2207 so that needs to get reviewed before this can 
>> be integrated.
>> 
>> Tested with tier1-3
>
> Stefan Karlsson has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains 14 commits:
> 
>  - Merge remote-tracking branch 'valhalla/lworld' into 
> 8379847_remove_element_klass_visit
>  - 8379847: [lworld] Remove added visit of array element klass from GC 
> visitors
>  - Merge remote-tracking branch 'valhalla/lworld' into 
> lworld_array_klass_cleanups
>  - faKlass => fak
>  - Stray whitespaces
>  - Restore jniCheck.cpp
>  - Array cleanups
>  - Retype _objectArrayKlass
>  - allocate_instance
>  - Small cleanups
>  - ... and 4 more: 
> https://git.openjdk.org/valhalla/compare/dde95fd7...ff0b3a25

src/hotspot/share/gc/parallel/psPromotionManager.cpp line 262:

> 260: void PSPromotionManager::process_array_chunk(PartialArrayState* state, 
> bool stolen) {
> 261:   // Access before release by claim().
> 262:   objArrayOop to_array = objArrayOop(state->destination());

Reverts code to look like openjdk/jdk.

src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp line 302:

> 300:     // So, the objArray test would be very infrequent.
> 301:     if (new_obj_size > _min_array_size_for_chunking &&
> 302:         klass->is_objArray_klass() &&

Check is already performed in is_array_with_oops.

src/hotspot/share/gc/z/zBarrier.hpp line 30:

> 28: #include "memory/allStatic.hpp"
> 29: #include "memory/iterator.hpp"
> 30: #include "oops/inlineKlass.hpp"

InlineKlass is not used in this file

src/hotspot/share/oops/flatArrayKlass.inline.hpp line 99:

> 97: template <typename T, typename OopClosureType>
> 98: void FlatArrayKlass::oop_oop_iterate(oop obj, OopClosureType* closure) {
> 99:   assert(obj->is_flatArray(), "must be a flat array");

Unify with code in RefArrayKlass

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2218#discussion_r2929993992
PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2218#discussion_r2929984047
PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2218#discussion_r2929996781
PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2218#discussion_r2929998887

Reply via email to