Index: src/heap/store-buffer.cc |
diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc |
index 21f375b195c9b58bb89ea52fc4bb301a5af3eae7..bd8ab1a1fb660ed3fcb118ceffc23d7b298f1e3a 100644 |
--- a/src/heap/store-buffer.cc |
+++ b/src/heap/store-buffer.cc |
@@ -8,7 +8,6 @@ |
#include "src/counters.h" |
#include "src/heap/incremental-marking.h" |
-#include "src/heap/store-buffer-inl.h" |
#include "src/isolate.h" |
#include "src/objects-inl.h" |
#include "src/v8.h" |
@@ -17,7 +16,11 @@ namespace v8 { |
namespace internal { |
StoreBuffer::StoreBuffer(Heap* heap) |
- : heap_(heap), start_(nullptr), limit_(nullptr), virtual_memory_(nullptr) {} |
+ : heap_(heap), |
+ top_(nullptr), |
+ start_(nullptr), |
+ limit_(nullptr), |
+ virtual_memory_(nullptr) {} |
void StoreBuffer::SetUp() { |
// Allocate 3x the buffer size, so that we can start the new store buffer |
@@ -47,14 +50,13 @@ void StoreBuffer::SetUp() { |
false)) { // Not executable. |
V8::FatalProcessOutOfMemory("StoreBuffer::SetUp"); |
} |
- heap_->set_store_buffer_top(reinterpret_cast<Smi*>(start_)); |
+ top_ = start_; |
} |
void StoreBuffer::TearDown() { |
delete virtual_memory_; |
- start_ = limit_ = NULL; |
- heap_->set_store_buffer_top(reinterpret_cast<Smi*>(start_)); |
+ top_ = start_ = limit_ = nullptr; |
} |
@@ -64,16 +66,15 @@ void StoreBuffer::StoreBufferOverflow(Isolate* isolate) { |
} |
void StoreBuffer::MoveEntriesToRememberedSet() { |
- Address* top = reinterpret_cast<Address*>(heap_->store_buffer_top()); |
- if (top == start_) return; |
- DCHECK(top <= limit_); |
- heap_->set_store_buffer_top(reinterpret_cast<Smi*>(start_)); |
- for (Address* current = start_; current < top; current++) { |
+ if (top_ == start_) return; |
+ DCHECK(top_ <= limit_); |
+ for (Address* current = start_; current < top_; current++) { |
DCHECK(!heap_->code_space()->Contains(*current)); |
Address addr = *current; |
Page* page = Page::FromAnyPointerAddress(heap_, addr); |
RememberedSet<OLD_TO_NEW>::Insert(page, addr); |
} |
+ top_ = start_; |
} |
} // namespace internal |