diff -r 10621b0e8e38 -r 4b469f5f4bf2 src/hotspot/share/oops/instanceKlass.cpp --- a/src/hotspot/share/oops/instanceKlass.cpp Wed Jan 09 15:53:56 2019 +0100 +++ b/src/hotspot/share/oops/instanceKlass.cpp Thu Jan 10 18:10:15 2019 +0100 @@ -2186,6 +2186,7 @@ for (int m = 0; m < methods()->length(); m++) { MethodData* mdo = methods()->at(m)->method_data(); if (mdo != NULL) { + MutexLockerEx ml(SafepointSynchronize::is_at_safepoint() ? NULL : mdo->extra_data_lock()); mdo->clean_method_data(/*always_clean*/false); } }