hotspot/src/share/vm/code/compiledIC.cpp
changeset 38035 a6105022c551
parent 37248 11a660dbbb8e
child 38133 78b95467b9f1
equal deleted inserted replaced
38034:f22f68545fd5 38035:a6105022c551
   531 bool CompiledIC::is_icholder_entry(address entry) {
   531 bool CompiledIC::is_icholder_entry(address entry) {
   532   CodeBlob* cb = CodeCache::find_blob_unsafe(entry);
   532   CodeBlob* cb = CodeCache::find_blob_unsafe(entry);
   533   return (cb != NULL && cb->is_adapter_blob());
   533   return (cb != NULL && cb->is_adapter_blob());
   534 }
   534 }
   535 
   535 
       
   536 // Release the CompiledICHolder* associated with this call site is there is one.
       
   537 void CompiledIC::cleanup_call_site(virtual_call_Relocation* call_site) {
       
   538   // This call site might have become stale so inspect it carefully.
       
   539   NativeCall* call = nativeCall_at(call_site->addr());
       
   540   if (is_icholder_entry(call->destination())) {
       
   541     NativeMovConstReg* value = nativeMovConstReg_at(call_site->cached_value());
       
   542     InlineCacheBuffer::queue_for_release((CompiledICHolder*)value->data());
       
   543   }
       
   544 }
       
   545 
       
   546 bool CompiledIC::is_icholder_call_site(virtual_call_Relocation* call_site) {
       
   547   // This call site might have become stale so inspect it carefully.
       
   548   NativeCall* call = nativeCall_at(call_site->addr());
       
   549   return is_icholder_entry(call->destination());
       
   550 }
       
   551 
   536 // ----------------------------------------------------------------------------
   552 // ----------------------------------------------------------------------------
   537 
   553 
   538 void CompiledStaticCall::set_to_clean() {
   554 void CompiledStaticCall::set_to_clean() {
   539   assert (CompiledIC_lock->is_locked() || SafepointSynchronize::is_at_safepoint(), "mt unsafe call");
   555   assert (CompiledIC_lock->is_locked() || SafepointSynchronize::is_at_safepoint(), "mt unsafe call");
   540   // Reset call site
   556   // Reset call site