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:
parent
e829fb4fa2
commit
1609402534
@ -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()));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user