Index: src/heap/objects-visiting-inl.h |
diff --git a/src/heap/objects-visiting-inl.h b/src/heap/objects-visiting-inl.h |
index 857fa7c0a622b2394c938b79492816159a144d27..58afeae0167dd7aedbdbbc70ff6b3b6d9fb579f8 100644 |
--- a/src/heap/objects-visiting-inl.h |
+++ b/src/heap/objects-visiting-inl.h |
@@ -262,7 +262,8 @@ void StaticMarkingVisitor<StaticVisitor>::VisitCodeTarget(Heap* heap, |
// 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->is_call_stub() && heap->isolate()->serializer_enabled()) { |
+ !target->is_call_stub() && (heap->isolate()->serializer_enabled() || |
+ target->ic_age() != heap->global_ic_age())) { |
ICUtility::Clear(heap->isolate(), rinfo->pc(), |
rinfo->host()->constant_pool()); |
target = Code::GetCodeFromTargetAddress(rinfo->target_address()); |