From 9d2344d1f4f68f24b4c23fbd62fdaeb0c771edf6 Mon Sep 17 00:00:00 2001 From: "jochen@chromium.org" Date: Tue, 3 Dec 2013 13:12:52 +0000 Subject: [PATCH] Tests that make a stack allocated persistent weak and rely on gc need to force gc Otherwise, if during a fuzzer test incremental marking is running, we'll crash in the weak callback BUG=none TBR=verwaest@chromium.org LOG=n Review URL: https://codereview.chromium.org/101843002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- test/cctest/test-api.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc index fe87b2d..e8852e3 100644 --- a/test/cctest/test-api.cc +++ b/test/cctest/test-api.cc @@ -13153,7 +13153,7 @@ THREADED_TEST(NewPersistentHandleFromWeakCallback) { // weak callback of the first handle would be able to 'reallocate' it. handle1.SetWeak(&handle1, NewPersistentHandleCallback); handle2.Reset(); - CcTest::heap()->CollectAllGarbage(i::Heap::kNoGCFlags); + CcTest::heap()->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); } @@ -13179,7 +13179,7 @@ THREADED_TEST(DoNotUseDeletedNodesInSecondLevelGc) { } handle1.SetWeak(&handle1, DisposeAndForceGcCallback); to_be_disposed.Reset(isolate, handle2); - CcTest::heap()->CollectAllGarbage(i::Heap::kNoGCFlags); + CcTest::heap()->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); } void DisposingCallback( @@ -13208,7 +13208,7 @@ THREADED_TEST(NoGlobalHandlesOrphaningDueToWeakCallback) { } handle2.SetWeak(&handle2, DisposingCallback); handle3.SetWeak(&handle3, HandleCreatingCallback); - CcTest::heap()->CollectAllGarbage(i::Heap::kNoGCFlags); + CcTest::heap()->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); } -- 2.7.4