#include "src/heap/collection-barrier.h"
#include <memory>
#include "src/base/platform/mutex.h"
#include "src/base/platform/time.h"
#include "src/common/globals.h"
#include "src/execution/isolate.h"
#include "src/handles/handles.h"
#include "src/heap/heap-inl.h"
#include "src/heap/heap.h"
#include "src/heap/local-heap-inl.h"
#include "src/heap/parked-scope.h"
namespace v8 {
namespace internal {
CollectionBarrier::CollectionBarrier(
Heap* heap, std::shared_ptr<v8::TaskRunner> foreground_task_runner)
: … { … }
bool CollectionBarrier::WasGCRequested() { … }
bool CollectionBarrier::TryRequestGC() { … }
class BackgroundCollectionInterruptTask : public CancelableTask { … };
void CollectionBarrier::NotifyShutdownRequested() { … }
void CollectionBarrier::ResumeThreadsAwaitingCollection() { … }
void CollectionBarrier::CancelCollectionAndResumeThreads() { … }
bool CollectionBarrier::AwaitCollectionBackground(LocalHeap* local_heap) { … }
void CollectionBarrier::StopTimeToCollectionTimer() { … }
}
}