Index: src/heap/objects-visiting-inl.h |
diff --git a/src/heap/objects-visiting-inl.h b/src/heap/objects-visiting-inl.h |
index f0637932d6299e9a37c83e074cf8cff59c4b98f9..1f37306a7cd5438b86dd0c9da3b37c767d112a80 100644 |
--- a/src/heap/objects-visiting-inl.h |
+++ b/src/heap/objects-visiting-inl.h |
@@ -263,7 +263,9 @@ |
// to be serialized. |
if (FLAG_cleanup_code_caches_at_gc && target->is_inline_cache_stub() && |
!target->is_call_stub() && |
- ((heap->flush_monomorphic_ics() && !target->is_weak_stub()) || |
+ (target->ic_state() == MEGAMORPHIC || target->ic_state() == GENERIC || |
+ target->ic_state() == POLYMORPHIC || |
+ (heap->flush_monomorphic_ics() && !target->is_weak_stub()) || |
heap->isolate()->serializer_enabled() || |
target->ic_age() != heap->global_ic_age() || |
target->is_invalidated_weak_stub())) { |