Index: Source/platform/heap/ThreadState.cpp |
diff --git a/Source/platform/heap/ThreadState.cpp b/Source/platform/heap/ThreadState.cpp |
index 78dbd72ebbbb69142a7e5922dbb6e00826598b5b..728bb222dca5663de9563db0a6c58cad681ee482 100644 |
--- a/Source/platform/heap/ThreadState.cpp |
+++ b/Source/platform/heap/ThreadState.cpp |
@@ -596,8 +596,7 @@ void ThreadState::performIdleGC(double deadlineSeconds) |
return; |
} |
- // FIXME: Make this precise once idle task is guaranteed to be not in nested loop. |
- Heap::collectGarbage(HeapPointersOnStack, GCWithoutSweep, Heap::IdleGC); |
+ Heap::collectGarbage(NoHeapPointersOnStack, GCWithoutSweep, Heap::IdleGC); |
} |
void ThreadState::scheduleIdleGC() |
@@ -612,7 +611,7 @@ void ThreadState::scheduleIdleGC() |
if (!m_hasPendingIdleTask) { |
m_hasPendingIdleTask = true; |
- Scheduler::shared()->postIdleTask(FROM_HERE, WTF::bind<double>(&ThreadState::performIdleGC, this)); |
+ Scheduler::shared()->postNonNestableIdleTask(FROM_HERE, WTF::bind<double>(&ThreadState::performIdleGC, this)); |
} |
setGCState(IdleGCScheduled); |
} |