summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/heap/IncrementalSweeper.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/JavaScriptCore/heap/IncrementalSweeper.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
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