| Index: src/heap/heap.cc
|
| diff --git a/src/heap/heap.cc b/src/heap/heap.cc
|
| index bc8bfe3215383fa4a03a6664286dcd51bef0ec00..3c8b876bf5d1e5b529001a985fe5ecabfdd92085 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();
|
| @@ -1744,7 +1742,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>(
|
| @@ -2024,7 +2022,8 @@ HeapObject* Heap::DoubleAlignForDeserialization(HeapObject* object, int size) {
|
|
|
|
|
| void Heap::RegisterNewArrayBuffer(JSArrayBuffer* buffer) {
|
| - return array_buffer_tracker()->RegisterNew(buffer);
|
| + const bool track_live = Marking::IsBlack(Marking::MarkBitFrom(buffer));
|
| + return array_buffer_tracker()->RegisterNew(buffer, track_live);
|
| }
|
|
|
|
|
|
|