Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index 3ec0a3e229c699fdb50460cdcd0ae70f342f00ba..7dd4bb0bac9ef4e7a588feed50390490e6dce583 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -1626,8 +1626,6 @@ void Heap::Scavenge() { |
scavenge_collector_->SelectScavengingVisitorsTable(); |
- array_buffer_tracker()->PrepareDiscoveryInNewSpace(); |
- |
// Flip the semispaces. After flipping, to space is empty, from space has |
// live objects. |
new_space_.Flip(); |
@@ -1735,7 +1733,7 @@ void Heap::Scavenge() { |
// Set age mark. |
new_space_.set_age_mark(new_space_.top()); |
- array_buffer_tracker()->FreeDead(true); |
+ array_buffer_tracker()->FreeDeadInNewSpace(); |
// Update how much has survived scavenge. |
IncrementYoungSurvivorsCounter(static_cast<int>( |
@@ -2015,7 +2013,9 @@ HeapObject* Heap::DoubleAlignForDeserialization(HeapObject* object, int size) { |
void Heap::RegisterNewArrayBuffer(JSArrayBuffer* buffer) { |
- return array_buffer_tracker()->RegisterNew(buffer); |
+ const bool track_live = |
+ Page::FromAddress(buffer->address())->IsFlagSet(Page::BLACK_PAGE); |
Hannes Payer (out of office)
2016/05/20 12:21:17
Instead of checking for black page, it would be be
Michael Lippautz
2016/05/23 08:41:00
Done.
|
+ return array_buffer_tracker()->RegisterNew(buffer, track_live); |
} |