8267972: Inline cache cleaning is not monotonic

Reviewed-by: vlivanov, kvn
This commit is contained in:
Erik Österlund 2021-06-07 09:44:22 +00:00
parent 6d1f3ac749
commit 5ebd4199cc

@ -515,7 +515,7 @@ void CompiledIC::compute_monomorphic_entry(const methodHandle& method,
CompiledMethod* method_code = method->code();
address entry = NULL;
if (method_code != NULL && method_code->is_in_use()) {
if (method_code != NULL && method_code->is_in_use() && !method_code->is_unloading()) {
assert(method_code->is_compiled(), "must be compiled");
// Call to compiled code
//
@ -641,7 +641,7 @@ void CompiledStaticCall::set(const StaticCallInfo& info) {
void CompiledStaticCall::compute_entry(const methodHandle& m, bool caller_is_nmethod, StaticCallInfo& info) {
CompiledMethod* m_code = m->code();
info._callee = m;
if (m_code != NULL && m_code->is_in_use()) {
if (m_code != NULL && m_code->is_in_use() && !m_code->is_unloading()) {
info._to_interpreter = false;
info._entry = m_code->verified_entry_point();
} else {