| Index: test/cctest/heap/test-mark-compact.cc
|
| diff --git a/test/cctest/heap/test-mark-compact.cc b/test/cctest/heap/test-mark-compact.cc
|
| index f77586e87870fcf225a2798ec0f218b4ff17ccdf..8e8a7485ef9405af8e66d9b7624f5ea3b8253d6c 100644
|
| --- a/test/cctest/heap/test-mark-compact.cc
|
| +++ b/test/cctest/heap/test-mark-compact.cc
|
| @@ -41,8 +41,10 @@
|
|
|
| #include "src/full-codegen/full-codegen.h"
|
| #include "src/global-handles.h"
|
| +#include "src/heap/concurrent-marking-deque.h"
|
| #include "src/heap/mark-compact-inl.h"
|
| #include "src/heap/mark-compact.h"
|
| +#include "src/heap/sequential-marking-deque.h"
|
| #include "src/objects-inl.h"
|
| #include "test/cctest/cctest.h"
|
| #include "test/cctest/heap/heap-tester.h"
|
| @@ -51,10 +53,29 @@
|
| using namespace v8::internal;
|
| using v8::Just;
|
|
|
| +TEST(ConcurrentMarkingDeque) {
|
| + CcTest::InitializeVM();
|
| + Isolate* isolate = CcTest::i_isolate();
|
| + ConcurrentMarkingDeque marking_deque(isolate->heap());
|
| + v8::HandleScope sc(CcTest::isolate());
|
| + Handle<FixedArray> object = isolate->factory()->NewFixedArray(10);
|
| + marking_deque.Push(*object);
|
| + CHECK(!marking_deque.IsEmpty());
|
| + CHECK_EQ(1, marking_deque.Size());
|
| + CHECK_EQ(*object, marking_deque.Pop(MarkingThread::kConcurrent));
|
| + CHECK(marking_deque.IsEmpty());
|
| + marking_deque.Push(*object, MarkingThread::kConcurrent,
|
| + TargetDeque::kBailout);
|
| + CHECK(!marking_deque.IsEmpty());
|
| + CHECK_EQ(1, marking_deque.Size());
|
| + CHECK(nullptr == marking_deque.Pop(MarkingThread::kConcurrent));
|
| + CHECK_EQ(*object, marking_deque.Pop());
|
| + CHECK(nullptr == marking_deque.Pop());
|
| +}
|
|
|
| -TEST(MarkingDeque) {
|
| +TEST(SequentialMarkingDeque) {
|
| CcTest::InitializeVM();
|
| - MarkingDeque s(CcTest::i_isolate()->heap());
|
| + SequentialMarkingDeque s(CcTest::i_isolate()->heap());
|
| s.SetUp();
|
| s.StartUsing();
|
| Address original_address = reinterpret_cast<Address>(&s);
|
|
|