diff --git a/src/hotspot/share/code/relocInfo.cpp b/src/hotspot/share/code/relocInfo.cpp index 0654df9..5d38311 100644 --- a/src/hotspot/share/code/relocInfo.cpp +++ b/src/hotspot/share/code/relocInfo.cpp @@ -644,12 +644,12 @@ Method* virtual_call_Relocation::method_value() { return (Method*)m; } -void virtual_call_Relocation::clear_inline_cache() { +bool virtual_call_Relocation::clear_inline_cache() { // No stubs for ICs // Clean IC ResourceMark rm; CompiledIC* icache = CompiledIC_at(this); - icache->set_to_clean(); + return icache->set_to_clean(); } @@ -672,12 +672,13 @@ Method* opt_virtual_call_Relocation::method_value() { return (Method*)m; } -void opt_virtual_call_Relocation::clear_inline_cache() { +bool opt_virtual_call_Relocation::clear_inline_cache() { // No stubs for ICs // Clean IC ResourceMark rm; CompiledIC* icache = CompiledIC_at(this); - icache->set_to_clean(); + guarantee(icache->set_to_clean(), "opt_virtual_call cleaning should never fail"); + return true; } @@ -715,10 +716,11 @@ void static_call_Relocation::unpack_data() { _method_index = unpack_1_int(); } -void static_call_Relocation::clear_inline_cache() { +bool static_call_Relocation::clear_inline_cache() { // Safe call site info CompiledStaticCall* handler = this->code()->compiledStaticCall_at(this); - handler->set_to_clean(); + guarantee(handler->set_to_clean(), "CompiledStaticCall cleaning should not fail"); + return true; } @@ -757,10 +759,11 @@ address trampoline_stub_Relocation::get_trampoline_for(address call, nmethod* co return NULL; } -void static_stub_Relocation::clear_inline_cache() { +bool static_stub_Relocation::clear_inline_cache() { // Call stub is only used when calling the interpreted code. // It does not really need to be cleared, except that we want to clean out the methodoop. CompiledDirectStaticCall::set_stub_to_clean(this); + return true; }