Index: src/objects-visiting-inl.h |
diff --git a/src/objects-visiting-inl.h b/src/objects-visiting-inl.h |
index 31117bb945bb62991245ef676beac33314940167..ba31b54f605682be03063b82ebd64f387f45f0ea 100644 |
--- a/src/objects-visiting-inl.h |
+++ b/src/objects-visiting-inl.h |
@@ -312,7 +312,8 @@ void StaticMarkingVisitor<StaticVisitor>::VisitCodeTarget( |
if (FLAG_cleanup_code_caches_at_gc && target->is_inline_cache_stub() |
&& (target->ic_state() == MEGAMORPHIC || target->ic_state() == GENERIC || |
target->ic_state() == POLYMORPHIC || heap->flush_monomorphic_ics() || |
- Serializer::enabled() || target->ic_age() != heap->global_ic_age())) { |
+ Serializer::enabled() || target->ic_age() != heap->global_ic_age() || |
+ target->is_invalidated_weak_stub())) { |
IC::Clear(target->GetIsolate(), rinfo->pc(), |
rinfo->host()->constant_pool()); |
target = Code::GetCodeFromTargetAddress(rinfo->target_address()); |
@@ -656,7 +657,7 @@ void StaticMarkingVisitor<StaticVisitor>::MarkMapContents( |
// pointer to it. |
StaticVisitor::VisitPointers(heap, |
HeapObject::RawField(map, Map::kPointerFieldsBeginOffset), |
- HeapObject::RawField(map, Map::kPointerFieldsEndOffset)); |
+ HeapObject::RawField(map, Map::kFirstWeakFieldOffset)); |
} |