Index: src/allocation-tracker.cc |
diff --git a/src/allocation-tracker.cc b/src/allocation-tracker.cc |
index 7534ffb82fd21f007befd70b52dd410dd455335d..d0cb13e2a08513c06c131c522b859b6c1c3ef30a 100644 |
--- a/src/allocation-tracker.cc |
+++ b/src/allocation-tracker.cc |
@@ -221,15 +221,26 @@ void AllocationTracker::PrepareForSerialization() { |
} |
+#ifdef DEBUG |
+bool IsFillerOrFreeListNode(HeapObject* object) { |
Hannes Payer (out of office)
2015/01/27 08:05:49
Rename to IsFillerOrFreeSpace
Yang
2015/01/27 08:49:48
Acknowledged.
|
+ Map* map = object->map(); |
+ Heap* heap = object->GetHeap(); |
+ return map == heap->raw_unchecked_free_space_map() || |
+ map == heap->raw_unchecked_one_pointer_filler_map() || |
+ map == heap->raw_unchecked_two_pointer_filler_map(); |
+} |
+#endif // DEBUG |
+ |
+ |
void AllocationTracker::AllocationEvent(Address addr, int size) { |
DisallowHeapAllocation no_allocation; |
Heap* heap = ids_->heap(); |
// Mark the new block as FreeSpace to make sure the heap is iterable |
// while we are capturing stack trace. |
- FreeListNode::FromAddress(addr)->set_size(heap, size); |
+ heap->CreateFillerObjectAt(addr, size); |
DCHECK_EQ(HeapObject::FromAddress(addr)->Size(), size); |
- DCHECK(FreeListNode::IsFreeListNode(HeapObject::FromAddress(addr))); |
+ DCHECK(IsFillerOrFreeListNode(HeapObject::FromAddress(addr))); |
Hannes Payer (out of office)
2015/01/27 08:05:49
I don't think the two DCHECKs above are useful. We
Yang
2015/01/27 08:49:49
Done.
|
Isolate* isolate = heap->isolate(); |
int length = 0; |