Chromium Code Reviews| Index: src/heap/mark-compact.cc |
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc |
| index 10a1fb96a9af9c0e2a40237ec2ac1d9abc90fa6e..3f641bc5ead1e704643b454d847029cc160f3bd6 100644 |
| --- a/src/heap/mark-compact.cc |
| +++ b/src/heap/mark-compact.cc |
| @@ -2235,90 +2235,6 @@ void MarkCompactCollector::ProcessTopOptimizedFrame( |
| } |
| } |
| -void MarkingDeque::SetUp() { |
|
ulan
2017/04/27 17:49:39
This is moved to sequential-marking-deque.cc
|
| - backing_store_ = new base::VirtualMemory(kMaxSize); |
| - backing_store_committed_size_ = 0; |
| - if (backing_store_ == nullptr) { |
| - V8::FatalProcessOutOfMemory("MarkingDeque::SetUp"); |
| - } |
| -} |
| - |
| -void MarkingDeque::TearDown() { |
| - delete backing_store_; |
| -} |
| - |
| -void MarkingDeque::StartUsing() { |
| - base::LockGuard<base::Mutex> guard(&mutex_); |
| - if (in_use_) { |
| - // This can happen in mark-compact GC if the incremental marker already |
| - // started using the marking deque. |
| - return; |
| - } |
| - in_use_ = true; |
| - EnsureCommitted(); |
| - array_ = reinterpret_cast<HeapObject**>(backing_store_->address()); |
| - size_t size = FLAG_force_marking_deque_overflows |
| - ? 64 * kPointerSize |
| - : backing_store_committed_size_; |
| - DCHECK( |
| - base::bits::IsPowerOfTwo32(static_cast<uint32_t>(size / kPointerSize))); |
| - mask_ = static_cast<int>((size / kPointerSize) - 1); |
| - top_ = bottom_ = 0; |
| - overflowed_ = false; |
| -} |
| - |
| -void MarkingDeque::StopUsing() { |
| - base::LockGuard<base::Mutex> guard(&mutex_); |
| - if (!in_use_) return; |
| - DCHECK(IsEmpty()); |
| - DCHECK(!overflowed_); |
| - top_ = bottom_ = mask_ = 0; |
| - in_use_ = false; |
| - if (FLAG_concurrent_sweeping) { |
| - StartUncommitTask(); |
| - } else { |
| - Uncommit(); |
| - } |
| -} |
| - |
| -void MarkingDeque::Clear() { |
| - DCHECK(in_use_); |
| - top_ = bottom_ = 0; |
| - overflowed_ = false; |
| -} |
| - |
| -void MarkingDeque::Uncommit() { |
| - DCHECK(!in_use_); |
| - bool success = backing_store_->Uncommit(backing_store_->address(), |
| - backing_store_committed_size_); |
| - backing_store_committed_size_ = 0; |
| - CHECK(success); |
| -} |
| - |
| -void MarkingDeque::EnsureCommitted() { |
| - DCHECK(in_use_); |
| - if (backing_store_committed_size_ > 0) return; |
| - |
| - for (size_t size = kMaxSize; size >= kMinSize; size /= 2) { |
| - if (backing_store_->Commit(backing_store_->address(), size, false)) { |
| - backing_store_committed_size_ = size; |
| - break; |
| - } |
| - } |
| - if (backing_store_committed_size_ == 0) { |
| - V8::FatalProcessOutOfMemory("MarkingDeque::EnsureCommitted"); |
| - } |
| -} |
| - |
| -void MarkingDeque::StartUncommitTask() { |
| - if (!uncommit_task_pending_) { |
| - uncommit_task_pending_ = true; |
| - UncommitTask* task = new UncommitTask(heap_->isolate(), this); |
| - V8::GetCurrentPlatform()->CallOnBackgroundThread( |
| - task, v8::Platform::kShortRunningTask); |
| - } |
| -} |
| - |
| class ObjectStatsVisitor : public HeapObjectVisitor { |
| public: |
| ObjectStatsVisitor(Heap* heap, ObjectStats* live_stats, |