| 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());
|
|
|