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