Index: src/objects-visiting-inl.h |
diff --git a/src/objects-visiting-inl.h b/src/objects-visiting-inl.h |
index 1f1033fecc0be0b28b9f50f19877a977a7469ea9..856ae06b7b133bb126371b40fbc42b9eed43b176 100644 |
--- a/src/objects-visiting-inl.h |
+++ b/src/objects-visiting-inl.h |
@@ -217,8 +217,9 @@ void StaticMarkingVisitor<StaticVisitor>::VisitCodeTarget( |
// when they might be keeping a Context alive, or when the heap is about |
// to be serialized. |
if (FLAG_cleanup_code_caches_at_gc && target->is_inline_cache_stub() |
- && (target->ic_state() == MEGAMORPHIC || heap->flush_monomorphic_ics() || |
- Serializer::enabled() || target->ic_age() != heap->global_ic_age())) { |
+ && (target->ic_state() == MEGAMORPHIC || Serializer::enabled() || |
+ heap->isolate()->context_exit_happened() || |
+ target->ic_age() != heap->global_ic_age())) { |
IC::Clear(rinfo->pc()); |
target = Code::GetCodeFromTargetAddress(rinfo->target_address()); |
} |