Chromium Code Reviews| 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 7242e1e7c40690dca7826ffee622662c28b1bd47..f13c82278a99e5c4b7290a7c09015b357d62fd36 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) { |
|
Michael Lippautz
2017/05/02 09:39:31
nit: Could be a unit test.
ulan
2017/05/02 13:19:53
Done. Converted it to unit test.
|
| + 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) { |
|
Michael Lippautz
2017/05/02 09:39:31
nit: Similarly, this could also be a unit test.
ulan
2017/05/02 13:19:53
I am keeping it here because it depends on cancela
|
| 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); |