| Index: test/cctest/heap/test-heap.cc
|
| diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc
|
| index 499eec89ee9a5451e2097152755a377428ef02eb..9b921239252bdd9b74234f16acbf1e06c2b1df0b 100644
|
| --- a/test/cctest/heap/test-heap.cc
|
| +++ b/test/cctest/heap/test-heap.cc
|
| @@ -4937,7 +4937,8 @@ TEST(NoWeakHashTableLeakWithIncrementalMarking) {
|
| i, i, i, i, i, i, i, i);
|
| CompileRun(source.start());
|
| }
|
| - heap->CollectAllGarbage();
|
| + // We have to abort incremental marking here to abandon black pages.
|
| + heap->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
|
| }
|
| int elements = 0;
|
| if (heap->weak_object_to_code_table()->IsHashTable()) {
|
| @@ -5457,6 +5458,9 @@ TEST(WeakCellsWithIncrementalMarking) {
|
| CHECK(weak_cell->value()->IsFixedArray());
|
| weak_cells[i] = inner_scope.CloseAndEscape(weak_cell);
|
| }
|
| + // Call collect all twice to make sure that we also cleared
|
| + // weak cells that were allocated on black pages.
|
| + heap->CollectAllGarbage();
|
| heap->CollectAllGarbage();
|
| CHECK_EQ(*survivor, weak_cells[0]->value());
|
| for (int i = 1; i < N; i++) {
|
|
|