diff options
Diffstat (limited to 'Source/JavaScriptCore/heap/Heap.h')
-rw-r--r-- | Source/JavaScriptCore/heap/Heap.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/JavaScriptCore/heap/Heap.h b/Source/JavaScriptCore/heap/Heap.h index edfd91483..296447d7b 100644 --- a/Source/JavaScriptCore/heap/Heap.h +++ b/Source/JavaScriptCore/heap/Heap.h @@ -47,6 +47,7 @@ namespace JSC { class GlobalCodeBlock; class Heap; class HeapRootVisitor; + class IncrementalSweeper; class JSCell; class JSGlobalData; class JSValue; @@ -100,6 +101,8 @@ namespace JSC { JS_EXPORT_PRIVATE void setActivityCallback(PassOwnPtr<GCActivityCallback>); JS_EXPORT_PRIVATE void setGarbageCollectionTimerEnabled(bool); + IncrementalSweeper* sweeper(); + // true if an allocation or collection is in progress inline bool isBusy(); @@ -217,6 +220,7 @@ namespace JSC { OwnPtr<HashSet<MarkedArgumentBuffer*> > m_markListSet; OwnPtr<GCActivityCallback> m_activityCallback; + OwnPtr<IncrementalSweeper> m_sweeper; MachineThreads m_machineThreads; @@ -240,9 +244,9 @@ namespace JSC { inline bool Heap::shouldCollect() { #if ENABLE(GGC) - return m_objectSpace.nurseryWaterMark() >= m_minBytesPerCycle && m_isSafeToCollect; + return m_objectSpace.nurseryWaterMark() >= m_minBytesPerCycle && m_isSafeToCollect && m_operationInProgress == NoOperation; #else - return m_bytesAllocated > m_bytesAllocatedLimit && m_isSafeToCollect; + return m_bytesAllocated > m_bytesAllocatedLimit && m_isSafeToCollect && m_operationInProgress == NoOperation; #endif } |