summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/heap/IncrementalSweeper.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/heap/IncrementalSweeper.h')
-rw-r--r--Source/JavaScriptCore/heap/IncrementalSweeper.h33
1 files changed, 13 insertions, 20 deletions
diff --git a/Source/JavaScriptCore/heap/IncrementalSweeper.h b/Source/JavaScriptCore/heap/IncrementalSweeper.h
index 1c6a3786d..87d265ddb 100644
--- a/Source/JavaScriptCore/heap/IncrementalSweeper.h
+++ b/Source/JavaScriptCore/heap/IncrementalSweeper.h
@@ -27,42 +27,35 @@
#define IncrementalSweeper_h
#include "HeapTimer.h"
-#include "MarkedBlock.h"
-#include <wtf/HashSet.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
namespace JSC {
class Heap;
+class MarkedBlock;
class IncrementalSweeper : public HeapTimer {
+ WTF_MAKE_FAST_ALLOCATED;
public:
- static PassOwnPtr<IncrementalSweeper> create(Heap*);
- void startSweeping(Vector<MarkedBlock*>&);
- virtual void doWork();
- void sweepNextBlock();
- void willFinishSweeping();
-
-private:
-#if USE(CF) || PLATFORM(BLACKBERRY) || PLATFORM(QT)
#if USE(CF)
- IncrementalSweeper(Heap*, CFRunLoopRef);
+ JS_EXPORT_PRIVATE IncrementalSweeper(Heap*, CFRunLoopRef);
#else
- IncrementalSweeper(Heap*);
+ explicit IncrementalSweeper(Heap*);
#endif
-
+
+ void startSweeping();
+
+ JS_EXPORT_PRIVATE virtual void doWork() override;
+ bool sweepNextBlock();
+ void willFinishSweeping();
+
+#if USE(CF) || PLATFORM(EFL) || USE(GLIB) || PLATFORM(QT)
+private:
void doSweep(double startTime);
void scheduleTimer();
void cancelTimer();
- unsigned m_currentBlockToSweepIndex;
Vector<MarkedBlock*>& m_blocksToSweep;
-#else
-
- IncrementalSweeper(VM*);
-
#endif
};