#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 {
public:
static PassOwnPtr<IncrementalSweeper> create(Heap*);
void startSweeping(Vector<MarkedBlock*>&);
-#if PLATFORM(IOS)
- JS_EXPORT_PRIVATE virtual void doWork();
-#else
- virtual void doWork();
-#endif
+ JS_EXPORT_PRIVATE virtual void doWork() override;
void sweepNextBlock();
void willFinishSweeping();
-#if USE(CF) || PLATFORM(BLACKBERRY) || PLATFORM(QT)
-#if USE(CF)
protected:
+#if USE(CF)
JS_EXPORT_PRIVATE IncrementalSweeper(Heap*, CFRunLoopRef);
#else
-private:
- IncrementalSweeper(Heap*);
+ IncrementalSweeper(VM*);
#endif
-
+
+#if USE(CF)
private:
void doSweep(double startTime);
void scheduleTimer();
unsigned m_currentBlockToSweepIndex;
Vector<MarkedBlock*>& m_blocksToSweep;
-#else
-
-private:
- IncrementalSweeper(VM*);
-
#endif
};