Abort incremental marking in stress gc tests whenever we expect a full collection after executing CollectAllGarbage.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17482003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
hpayer@chromium.org 2013-06-20 10:04:53 +00:00
parent e829fb4fa2
commit 1609402534

View File

@ -85,7 +85,6 @@ static bool HasTypedArrayInWeakList(JSArrayBuffer* array_buffer,
TEST(WeakArrayBuffersFromApi) {
i::FLAG_stress_compaction = false;
v8::V8::Initialize();
LocalContext context;
Isolate* isolate = GetIsolateFrom(&context);
@ -104,7 +103,7 @@ TEST(WeakArrayBuffersFromApi) {
CHECK(HasArrayBufferInWeakList(isolate->heap(), *iab1));
CHECK(HasArrayBufferInWeakList(isolate->heap(), *iab2));
}
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags);
isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(1, CountArrayBuffersInWeakList(isolate->heap()));
{
HandleScope scope2(isolate);
@ -114,7 +113,7 @@ TEST(WeakArrayBuffersFromApi) {
}
}
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags);
isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(0, CountArrayBuffersInWeakList(isolate->heap()));
}
@ -155,7 +154,7 @@ TEST(WeakArrayBuffersFromScript) {
i::ScopedVector<char> source(1024);
i::OS::SNPrintF(source, "ab%d = null;", i);
CompileRun(source.start());
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags);
isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(2, CountArrayBuffersInWeakList(isolate->heap()));
@ -174,7 +173,7 @@ TEST(WeakArrayBuffersFromScript) {
CompileRun("ab1 = null; ab2 = null; ab3 = null;");
}
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags);
isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(0, CountArrayBuffersInWeakList(isolate->heap()));
}
}
@ -201,12 +200,12 @@ void TestTypedArrayFromApi() {
CHECK(HasTypedArrayInWeakList(*iab, *ita1));
CHECK(HasTypedArrayInWeakList(*iab, *ita2));
}
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags);
isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(1, CountTypedArrays(*iab));
Handle<JSTypedArray> ita1 = v8::Utils::OpenHandle(*ta1);
CHECK(HasTypedArrayInWeakList(*iab, *ita1));
}
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags);
isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(0, CountTypedArrays(*iab));
}
@ -298,7 +297,7 @@ static void TestTypedArrayFromScript(const char* constructor) {
i::OS::SNPrintF(source, "ta%d = null;", i);
CompileRun(source.start());
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags);
isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(1, CountArrayBuffersInWeakList(isolate->heap()));
@ -318,7 +317,7 @@ static void TestTypedArrayFromScript(const char* constructor) {
}
CompileRun("ta1 = null; ta2 = null; ta3 = null;");
isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags);
isolate->heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(1, CountArrayBuffersInWeakList(isolate->heap()));