| 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();
|
|
|