Index: Source/platform/heap/ThreadState.cpp |
diff --git a/Source/platform/heap/ThreadState.cpp b/Source/platform/heap/ThreadState.cpp |
index 5e97927b5ef18878a0b9e42d8c3e15c9c49ec4b0..699866a4516830374b32646ac8351c86a8c97e33 100644 |
--- a/Source/platform/heap/ThreadState.cpp |
+++ b/Source/platform/heap/ThreadState.cpp |
@@ -676,7 +676,10 @@ |
if (!isMainThread()) |
return; |
+ // TODO(haraken): Remove this. Lazy sweeping is not yet enabled in non-oilpan builds. |
+#if ENABLE(OILPAN) |
Platform::current()->currentThread()->scheduler()->postIdleTask(FROM_HERE, WTF::bind<double>(&ThreadState::performIdleLazySweep, this)); |
+#endif |
} |
void ThreadState::schedulePreciseGC() |
@@ -901,6 +904,7 @@ |
#endif |
#endif |
+#if ENABLE(OILPAN) |
if (gcState() == EagerSweepScheduled) { |
// Eager sweeping should happen only in testing. |
setGCState(Sweeping); |
@@ -910,6 +914,12 @@ |
setGCState(Sweeping); |
scheduleIdleLazySweep(); |
} |
+#else |
+ // FIXME: For now, we disable lazy sweeping in non-oilpan builds |
+ // to avoid unacceptable behavior regressions on trunk. |
+ setGCState(Sweeping); |
+ completeSweep(); |
+#endif |
#if ENABLE(GC_PROFILING) |
snapshotFreeListIfNecessary(); |