Index: src/heap/heap-inl.h |
diff --git a/src/heap/heap-inl.h b/src/heap/heap-inl.h |
index 4932b4483b2226cbd4ad77a7e19308b8b2e9dbb6..f418cae2f0355a39716e21c2ca317f0baafa77d0 100644 |
--- a/src/heap/heap-inl.h |
+++ b/src/heap/heap-inl.h |
@@ -631,7 +631,13 @@ AllocationMemento* Heap::FindAllocationMemento(HeapObject* object) { |
template <Heap::UpdateAllocationSiteMode mode> |
void Heap::UpdateAllocationSite(HeapObject* object, |
base::HashMap* pretenuring_feedback) { |
- DCHECK(InFromSpace(object)); |
+ DCHECK(InFromSpace(object) || |
+ (InToSpace(object) && |
+ Page::FromAddress(object->address()) |
+ ->IsFlagSet(Page::PAGE_NEW_NEW_PROMOTION)) || |
+ (!InNewSpace(object) && |
+ Page::FromAddress(object->address()) |
+ ->IsFlagSet(Page::PAGE_NEW_OLD_PROMOTION))); |
if (!FLAG_allocation_site_pretenuring || |
!AllocationSite::CanTrack(object->map()->instance_type())) |
return; |