diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
commit | b1e9e47fa11f608ae16bc07f97a2acf95bf80272 (patch) | |
tree | c88c45e80c9c44506e7cdf9a3bb39ebf82a8cd5b /Source/JavaScriptCore/heap/Heap.cpp | |
parent | be01689f43cf6882cf670d33df49ead1f570c53a (diff) | |
download | qtwebkit-b1e9e47fa11f608ae16bc07f97a2acf95bf80272.tar.gz |
Imported WebKit commit 499c84c99aa98e9870fa7eaa57db476c6d160d46 (http://svn.webkit.org/repository/webkit/trunk@119200)
Weekly update :). Particularly relevant changes for Qt are the use of the WebCore image decoders and direct usage
of libpng/libjpeg if available in the system.
Diffstat (limited to 'Source/JavaScriptCore/heap/Heap.cpp')
-rw-r--r-- | Source/JavaScriptCore/heap/Heap.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Source/JavaScriptCore/heap/Heap.cpp b/Source/JavaScriptCore/heap/Heap.cpp index 9b68fb10a..90c4bb72c 100644 --- a/Source/JavaScriptCore/heap/Heap.cpp +++ b/Source/JavaScriptCore/heap/Heap.cpp @@ -27,6 +27,7 @@ #include "ConservativeRoots.h" #include "GCActivityCallback.h" #include "HeapRootVisitor.h" +#include "IncrementalSweeper.h" #include "Interpreter.h" #include "JSGlobalData.h" #include "JSGlobalObject.h" @@ -245,6 +246,7 @@ Heap::Heap(JSGlobalData* globalData, HeapType heapType) , m_objectSpace(this) , m_storageSpace(this) , m_activityCallback(DefaultGCActivityCallback::create(this)) + , m_sweeper(IncrementalSweeper::create(this)) , m_machineThreads(this) , m_sharedData(globalData) , m_slotVisitor(m_sharedData) @@ -703,9 +705,11 @@ void Heap::collect(SweepToggle sweepToggle) GCPHASE(Sweeping); m_objectSpace.sweep(); m_objectSpace.shrink(); - m_bytesAbandoned = 0; } + m_sweeper->startSweeping(m_objectSpace.blocks().set()); + m_bytesAbandoned = 0; + { GCPHASE(ResetAllocators); m_objectSpace.resetAllocators(); @@ -737,6 +741,11 @@ GCActivityCallback* Heap::activityCallback() return m_activityCallback.get(); } +IncrementalSweeper* Heap::sweeper() +{ + return m_sweeper.get(); +} + void Heap::setGarbageCollectionTimerEnabled(bool enable) { activityCallback()->setEnabled(enable); |