Index: src/heap-inl.h |
diff --git a/src/heap-inl.h b/src/heap-inl.h |
index 9d57c995ca0a566f40de9848491743655b3dd9b7..2d4b10ed1f3eaa42de6402f8fce370da94db2ed0 100644 |
--- a/src/heap-inl.h |
+++ b/src/heap-inl.h |
@@ -483,6 +483,18 @@ void Heap::ScavengePointer(HeapObject** p) { |
} |
+void Heap::UpdateAllocationSiteFeedback(HeapObject* object) { |
+ if (FLAG_allocation_site_pretenuring && object->IsJSObject()) { |
+ AllocationMemento* memento = AllocationMemento::FindForJSObject( |
+ JSObject::cast(object), true); |
+ if (memento != NULL) { |
+ ASSERT(memento->IsValid()); |
+ memento->GetAllocationSite()->IncrementMementoFoundCount(); |
+ } |
+ } |
+} |
+ |
+ |
void Heap::ScavengeObject(HeapObject** p, HeapObject* object) { |
ASSERT(object->GetIsolate()->heap()->InFromSpace(object)); |
@@ -501,12 +513,7 @@ void Heap::ScavengeObject(HeapObject** p, HeapObject* object) { |
return; |
} |
- if (FLAG_trace_track_allocation_sites && object->IsJSObject()) { |
- if (AllocationMemento::FindForJSObject(JSObject::cast(object), true) != |
- NULL) { |
- object->GetIsolate()->heap()->allocation_mementos_found_++; |
- } |
- } |
+ UpdateAllocationSiteFeedback(object); |
// AllocationMementos are unrooted and shouldn't survive a scavenge |
ASSERT(object->map() != object->GetHeap()->allocation_memento_map()); |