RFR: 8308745: ObjArrayKlass::allocate_objArray_klass may call into java while holding a lock [v2]
David Holmes
dholmes at openjdk.org
Thu Mar 7 02:50:58 UTC 2024
On Thu, 7 Mar 2024 01:38:56 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> This change creates a new sort of native recursive lock that can be held during JNI and Java calls, which can be used for synchronization while creating objArrayKlasses at runtime.
>>
>> Passes tier1-7.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>
> Dean's comments.
This looks good to me. Thanks for working through the details with me.
src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp line 121:
> 119: {
> 120: // To get a consistent list of classes we need MultiArray_lock to ensure
> 121: // array classes aren't created during this walk. This walks through the
Just curious but how can walking the set of classes trigger creation of array classes?
src/hotspot/share/runtime/mutexLocker.hpp line 335:
> 333:
> 334: // Instance of a RecursiveLock that may be held through Java heap allocation, which may include calls to Java,
> 335: // and JNI event notification for resource exhausted for metaspace or heap.
s/exhausted/exhaustion/
-------------
Marked as reviewed by dholmes (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/17739#pullrequestreview-1921323899
PR Review Comment: https://git.openjdk.org/jdk/pull/17739#discussion_r1515402581
PR Review Comment: https://git.openjdk.org/jdk/pull/17739#discussion_r1515406082
More information about the serviceability-dev
mailing list