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, 10 insertions, 23 deletions
diff --git a/Source/JavaScriptCore/heap/IncrementalSweeper.h b/Source/JavaScriptCore/heap/IncrementalSweeper.h
index 0ac145cbd..34fa88cc2 100644
--- a/Source/JavaScriptCore/heap/IncrementalSweeper.h
+++ b/Source/JavaScriptCore/heap/IncrementalSweeper.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2012, 2016 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,44 +23,31 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef IncrementalSweeper_h
-#define IncrementalSweeper_h
+#pragma once
#include "HeapTimer.h"
-#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
namespace JSC {
class Heap;
-class MarkedBlock;
+class MarkedAllocator;
class IncrementalSweeper : public HeapTimer {
public:
- static PassOwnPtr<IncrementalSweeper> create(Heap*);
- void startSweeping(Vector<MarkedBlock*>&);
- JS_EXPORT_PRIVATE virtual void doWork() override;
- void sweepNextBlock();
- void willFinishSweeping();
+ JS_EXPORT_PRIVATE explicit IncrementalSweeper(Heap*);
-protected:
-#if USE(CF)
- JS_EXPORT_PRIVATE IncrementalSweeper(Heap*, CFRunLoopRef);
-#else
- IncrementalSweeper(VM*);
-#endif
+ JS_EXPORT_PRIVATE void startSweeping();
+
+ JS_EXPORT_PRIVATE void doWork() override;
+ bool sweepNextBlock();
+ JS_EXPORT_PRIVATE void stopSweeping();
-#if USE(CF)
private:
void doSweep(double startTime);
void scheduleTimer();
- void cancelTimer();
- unsigned m_currentBlockToSweepIndex;
- Vector<MarkedBlock*>& m_blocksToSweep;
-#endif
+ MarkedAllocator* m_currentAllocator;
};
} // namespace JSC
-
-#endif