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
