Index: src/heap/concurrent-marking.h |
diff --git a/src/heap/concurrent-marking.h b/src/heap/concurrent-marking.h |
index 9d7b6b58caa2ceda29bd723e5f6cb41942f179f2..134fa38f6461dee6f4e762f73b6c14e5e2e4ef62 100644 |
--- a/src/heap/concurrent-marking.h |
+++ b/src/heap/concurrent-marking.h |
@@ -5,8 +5,6 @@ |
#ifndef V8_HEAP_CONCURRENT_MARKING_ |
#define V8_HEAP_CONCURRENT_MARKING_ |
-#include <vector> |
- |
#include "src/allocation.h" |
#include "src/cancelable-task.h" |
#include "src/utils.h" |
@@ -15,16 +13,16 @@ |
namespace v8 { |
namespace internal { |
+class ConcurrentMarkingDeque; |
+class ConcurrentMarkingVisitor; |
class Heap; |
class Isolate; |
class ConcurrentMarking { |
public: |
- explicit ConcurrentMarking(Heap* heap); |
+ ConcurrentMarking(Heap* heap, ConcurrentMarkingDeque* deque_); |
~ConcurrentMarking(); |
- void AddRoot(HeapObject* object); |
- |
void StartTask(); |
void WaitForTaskToComplete(); |
bool IsTaskPending() { return is_task_pending_; } |
@@ -32,10 +30,12 @@ class ConcurrentMarking { |
private: |
class Task; |
+ void Run(); |
Heap* heap_; |
base::Semaphore pending_task_semaphore_; |
+ ConcurrentMarkingDeque* deque_; |
+ ConcurrentMarkingVisitor* visitor_; |
bool is_task_pending_; |
- std::vector<HeapObject*> root_set_; |
}; |
} // namespace internal |