diff options
Diffstat (limited to 'Source/JavaScriptCore/heap/IncrementalSweeper.h')
-rw-r--r-- | Source/JavaScriptCore/heap/IncrementalSweeper.h | 33 |
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 |