summaryrefslogtreecommitdiff
path: root/deps/v8/src/heap/store-buffer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/heap/store-buffer.cc')
-rw-r--r--deps/v8/src/heap/store-buffer.cc35
1 files changed, 3 insertions, 32 deletions
diff --git a/deps/v8/src/heap/store-buffer.cc b/deps/v8/src/heap/store-buffer.cc
index 7d0dcfc370..349e787740 100644
--- a/deps/v8/src/heap/store-buffer.cc
+++ b/deps/v8/src/heap/store-buffer.cc
@@ -28,7 +28,6 @@ StoreBuffer::StoreBuffer(Heap* heap)
}
task_running_ = false;
insertion_callback = &InsertDuringRuntime;
- deletion_callback = &DeleteDuringRuntime;
}
void StoreBuffer::SetUp() {
@@ -91,22 +90,11 @@ void StoreBuffer::TearDown() {
}
}
-void StoreBuffer::DeleteDuringRuntime(StoreBuffer* store_buffer, Address start,
- Address end) {
- DCHECK(store_buffer->mode() == StoreBuffer::NOT_IN_GC);
- store_buffer->InsertDeletionIntoStoreBuffer(start, end);
-}
-
void StoreBuffer::InsertDuringRuntime(StoreBuffer* store_buffer, Address slot) {
DCHECK(store_buffer->mode() == StoreBuffer::NOT_IN_GC);
store_buffer->InsertIntoStoreBuffer(slot);
}
-void StoreBuffer::DeleteDuringGarbageCollection(StoreBuffer* store_buffer,
- Address start, Address end) {
- UNREACHABLE();
-}
-
void StoreBuffer::InsertDuringGarbageCollection(StoreBuffer* store_buffer,
Address slot) {
DCHECK(store_buffer->mode() != StoreBuffer::NOT_IN_GC);
@@ -117,10 +105,8 @@ void StoreBuffer::SetMode(StoreBufferMode mode) {
mode_ = mode;
if (mode == NOT_IN_GC) {
insertion_callback = &InsertDuringRuntime;
- deletion_callback = &DeleteDuringRuntime;
} else {
insertion_callback = &InsertDuringGarbageCollection;
- deletion_callback = &DeleteDuringGarbageCollection;
}
}
@@ -160,24 +146,9 @@ void StoreBuffer::MoveEntriesToRememberedSet(int index) {
MemoryChunk::BaseAddress(addr) != chunk->address()) {
chunk = MemoryChunk::FromAnyPointerAddress(addr);
}
- if (IsDeletionAddress(addr)) {
- last_inserted_addr = kNullAddress;
- current++;
- Address end = *current;
- DCHECK(!IsDeletionAddress(end));
- addr = UnmarkDeletionAddress(addr);
- if (end) {
- RememberedSet<OLD_TO_NEW>::RemoveRange(chunk, addr, end,
- SlotSet::PREFREE_EMPTY_BUCKETS);
- } else {
- RememberedSet<OLD_TO_NEW>::Remove(chunk, addr);
- }
- } else {
- DCHECK(!IsDeletionAddress(addr));
- if (addr != last_inserted_addr) {
- RememberedSet<OLD_TO_NEW>::Insert(chunk, addr);
- last_inserted_addr = addr;
- }
+ if (addr != last_inserted_addr) {
+ RememberedSet<OLD_TO_NEW>::Insert(chunk, addr);
+ last_inserted_addr = addr;
}
}
lazy_top_[index] = nullptr;