| Index: src/heap/store-buffer.cc
|
| diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc
|
| index abf6da409e1906cb5b95ef902678b5ffdcf27611..2e5f720c9f78f4c312f56736b0e6e30ab6a56c64 100644
|
| --- a/src/heap/store-buffer.cc
|
| +++ b/src/heap/store-buffer.cc
|
| @@ -23,6 +23,8 @@ StoreBuffer::StoreBuffer(Heap* heap)
|
| lazy_top_[i] = nullptr;
|
| }
|
| task_running_ = false;
|
| + insertion_callback = &InsertDuringRuntime;
|
| + deletion_callback = &DeleteDuringRuntime;
|
| }
|
|
|
| void StoreBuffer::SetUp() {
|
| @@ -137,29 +139,5 @@ void StoreBuffer::ConcurrentlyProcessStoreBuffer() {
|
| task_running_ = false;
|
| }
|
|
|
| -void StoreBuffer::DeleteEntry(Address start, Address end) {
|
| - // Deletions coming from the GC are directly deleted from the remembered
|
| - // set. Deletions coming from the runtime are added to the store buffer
|
| - // to allow concurrent processing.
|
| - if (heap_->gc_state() == Heap::NOT_IN_GC) {
|
| - if (top_ + sizeof(Address) * 2 > limit_[current_]) {
|
| - StoreBufferOverflow(heap_->isolate());
|
| - }
|
| - *top_ = MarkDeletionAddress(start);
|
| - top_++;
|
| - *top_ = end;
|
| - top_++;
|
| - } else {
|
| - // In GC the store buffer has to be empty at any time.
|
| - DCHECK(Empty());
|
| - Page* page = Page::FromAddress(start);
|
| - if (end) {
|
| - RememberedSet<OLD_TO_NEW>::RemoveRange(page, start, end,
|
| - SlotSet::PREFREE_EMPTY_BUCKETS);
|
| - } else {
|
| - RememberedSet<OLD_TO_NEW>::Remove(page, start);
|
| - }
|
| - }
|
| -}
|
| } // namespace internal
|
| } // namespace v8
|
|
|