On Tue, 13 Feb 2024 02:07:54 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:
>> src/hotspot/share/oops/arrayKlass.cpp line 141: >> >>> 139: ObjArrayKlass::allocate_objArray_klass(class_loader_data(), >>> dim + 1, this, CHECK_NULL); >>> 140: // use 'release' to pair with lock-free load >>> 141: release_set_higher_dimension(ak); >> >> Why has this code changed? I only expected to see the lock changed. > > The assert is dumb, leftover from when we didn't have C++ types (only > klassOop). Of course it's an objArrayKlass, that's its type! The higher > dimension should be set in the constructor of ObjArrayKlass. Every version > of this change, I move this assignment there. Changing this like this makes it more similar to the InstanceKlass::array_klass function in structure, and there was unnecessary { } scopes in both and an unnecessary ResourceMark. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17739#discussion_r1487058776