--- old/src/share/vm/interpreter/oopMapCache.cpp 2017-06-20 16:28:17.254174013 -0400 +++ new/src/share/vm/interpreter/oopMapCache.cpp 2017-06-20 16:28:16.330169431 -0400 @@ -439,7 +439,7 @@ OopMapCache::OopMapCache() : - _mut(Mutex::leaf, "An OopMapCache lock", true) + _mut(Mutex::leaf, "An OopMapCache lock", true, Monitor::_safepoint_check_never) { _array = NEW_C_HEAP_ARRAY(OopMapCacheEntry, _size, mtClass); // Cannot call flush for initialization, since flush @@ -484,7 +484,7 @@ void OopMapCache::lookup(const methodHandle& method, int bci, InterpreterOopMap* entry_for) const { - MutexLocker x(&_mut); + MutexLockerEx x(&_mut, Mutex::_no_safepoint_check_flag); OopMapCacheEntry* entry = NULL; int probe = hash_value_for(method, bci);