src/hotspot/cpu/ppc/nativeInst_ppc.cpp
changeset 52384 d6dc479bcdd3
parent 50429 83aec1d357d4
child 53867 87ef165e7bcd
--- a/src/hotspot/cpu/ppc/nativeInst_ppc.cpp	Fri Nov 02 07:58:22 2018 +0100
+++ b/src/hotspot/cpu/ppc/nativeInst_ppc.cpp	Thu Nov 01 14:57:26 2018 +0100
@@ -25,6 +25,7 @@
 
 #include "precompiled.hpp"
 #include "asm/macroAssembler.inline.hpp"
+#include "code/compiledIC.hpp"
 #include "memory/resourceArea.hpp"
 #include "nativeInst_ppc.hpp"
 #include "oops/compressedOops.inline.hpp"
@@ -94,7 +95,8 @@
 // during code generation, where no patching lock is needed.
 void NativeCall::set_destination_mt_safe(address dest, bool assert_lock) {
   assert(!assert_lock ||
-         (Patching_lock->is_locked() || SafepointSynchronize::is_at_safepoint()),
+         (Patching_lock->is_locked() || SafepointSynchronize::is_at_safepoint()) ||
+         CompiledICLocker::is_safe(addr_at(0)),
          "concurrent code patching");
 
   ResourceMark rm;