comparison src/share/vm/runtime/mutexLocker.cpp @ 10133:6337ca4dcad8

8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition Summary: Lazily create and maintain the MemberNameTable to be able to update MemberName's Reviewed-by: coleenp, jrose, dholmes Contributed-by: serguei.spitsyn@oracle.com
author sspitsyn
date Sat, 20 Apr 2013 04:07:08 -0700
parents f34d701e952e
children f2110083203d
comparison
equal deleted inserted replaced
10132:5b6512efcdc4 10133:6337ca4dcad8
44 Mutex* InlineCacheBuffer_lock = NULL; 44 Mutex* InlineCacheBuffer_lock = NULL;
45 Mutex* VMStatistic_lock = NULL; 45 Mutex* VMStatistic_lock = NULL;
46 Mutex* JNIGlobalHandle_lock = NULL; 46 Mutex* JNIGlobalHandle_lock = NULL;
47 Mutex* JNIHandleBlockFreeList_lock = NULL; 47 Mutex* JNIHandleBlockFreeList_lock = NULL;
48 Mutex* JNICachedItableIndex_lock = NULL; 48 Mutex* JNICachedItableIndex_lock = NULL;
49 Mutex* MemberNameTable_lock = NULL;
49 Mutex* JmethodIdCreation_lock = NULL; 50 Mutex* JmethodIdCreation_lock = NULL;
50 Mutex* JfieldIdCreation_lock = NULL; 51 Mutex* JfieldIdCreation_lock = NULL;
51 Monitor* JNICritical_lock = NULL; 52 Monitor* JNICritical_lock = NULL;
52 Mutex* JvmtiThreadState_lock = NULL; 53 Mutex* JvmtiThreadState_lock = NULL;
53 Monitor* JvmtiPendingEvent_lock = NULL; 54 Monitor* JvmtiPendingEvent_lock = NULL;
250 // used in CMS GC for locking PLL lock 251 // used in CMS GC for locking PLL lock
251 } 252 }
252 def(Heap_lock , Monitor, nonleaf+1, false); 253 def(Heap_lock , Monitor, nonleaf+1, false);
253 def(JfieldIdCreation_lock , Mutex , nonleaf+1, true ); // jfieldID, Used in VM_Operation 254 def(JfieldIdCreation_lock , Mutex , nonleaf+1, true ); // jfieldID, Used in VM_Operation
254 def(JNICachedItableIndex_lock , Mutex , nonleaf+1, false); // Used to cache an itable index during JNI invoke 255 def(JNICachedItableIndex_lock , Mutex , nonleaf+1, false); // Used to cache an itable index during JNI invoke
256 def(MemberNameTable_lock , Mutex , nonleaf+1, false); // Used to protect MemberNameTable
255 257
256 def(CompiledIC_lock , Mutex , nonleaf+2, false); // locks VtableStubs_lock, InlineCacheBuffer_lock 258 def(CompiledIC_lock , Mutex , nonleaf+2, false); // locks VtableStubs_lock, InlineCacheBuffer_lock
257 def(CompileTaskAlloc_lock , Mutex , nonleaf+2, true ); 259 def(CompileTaskAlloc_lock , Mutex , nonleaf+2, true );
258 def(CompileStatistics_lock , Mutex , nonleaf+2, false); 260 def(CompileStatistics_lock , Mutex , nonleaf+2, false);
259 def(MultiArray_lock , Mutex , nonleaf+2, false); // locks SymbolTable_lock 261 def(MultiArray_lock , Mutex , nonleaf+2, false); // locks SymbolTable_lock