diff -r 5ed765426c72 -r 0331b08811ad src/hotspot/share/code/compiledMethod.cpp --- a/src/hotspot/share/code/compiledMethod.cpp Mon Feb 04 17:53:26 2019 -0800 +++ b/src/hotspot/share/code/compiledMethod.cpp Tue Feb 05 20:06:10 2019 +0100 @@ -399,15 +399,16 @@ } } -// Clear ICStubs of all compiled ICs -void CompiledMethod::clear_ic_stubs() { +// Clear IC callsites, releasing ICStubs of all compiled ICs +// as well as any associated CompiledICHolders. +void CompiledMethod::clear_ic_callsites() { assert(CompiledICLocker::is_safe(this), "mt unsafe call"); ResourceMark rm; RelocIterator iter(this); while(iter.next()) { if (iter.type() == relocInfo::virtual_call_type) { CompiledIC* ic = CompiledIC_at(&iter); - ic->clear_ic_stub(); + ic->set_to_clean(false); } } }