< prev index next >

src/hotspot/share/runtime/sharedRuntime.cpp

       // resolve is only done once.
 
       CompiledICLocker ml(caller_nm);
       if (is_static_call) {
         CompiledStaticCall* ssc = caller_nm->compiledStaticCall_at(call_addr);
-        ssc->set_to_clean();
+        if (!ssc->is_clean()) {
+          ssc->set_to_clean();
+        }
       } else {
         // compiled, dispatched call (which used to call an interpreted method)
         CompiledIC* inline_cache = CompiledIC_at(caller_nm, call_addr);
-        inline_cache->set_to_clean();
+        if (!inline_cache->is_clean()) {
+          inline_cache->set_to_clean();
+        }
       }
     }
   }
 
   methodHandle callee_method = find_callee_method(thread, CHECK_(methodHandle()));
    
< prev index next >