RFR: 8308745: ObjArrayKlass::allocate_objArray_klass may call into java while holding a lock
David Holmes
dholmes at openjdk.org
Thu Feb 1 05:25:05 UTC 2024
On Wed, 31 Jan 2024 18:57:23 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
> This change uses a claim token to allocate multi dimensional arrays rather than holding MultiArray_lock around metaspace allocation. We can't hold a mutex around metaspace allocation because it can create an OOM object and it can also call into JVMTI for a resource exhausted event. Also, we were creating mirrors and more metadata arrays while holding this lock. See the bug for more details and other ideas considered and rejected.
>
> Tested with tier1-7.
Can't you just use a Monitor to implement the claim token, rather than this lock-free approach? (Similar to how class initialization is handled.)
-------------
PR Review: https://git.openjdk.org/jdk/pull/17660#pullrequestreview-1855472920
More information about the serviceability-dev
mailing list