#include "include/cppgc/internal/persistent-node.h"
#include <algorithm>
#include <numeric>
#include "include/cppgc/cross-thread-persistent.h"
#include "include/cppgc/persistent.h"
#include "src/base/platform/platform.h"
#include "src/heap/cppgc/platform.h"
#include "src/heap/cppgc/process-heap.h"
namespace cppgc {
namespace internal {
PersistentRegionBase::PersistentRegionBase(
const FatalOutOfMemoryHandler& oom_handler)
: … { … }
PersistentRegionBase::~PersistentRegionBase() { … }
template <typename PersistentBaseClass>
void PersistentRegionBase::ClearAllUsedNodes() { … }
template void
PersistentRegionBase::ClearAllUsedNodes<CrossThreadPersistentBase>();
template void PersistentRegionBase::ClearAllUsedNodes<PersistentBase>();
void PersistentRegionBase::ClearAllUsedNodes() { … }
size_t PersistentRegionBase::NodesInUse() const { … }
void PersistentRegionBase::RefillFreeList() { … }
PersistentNode* PersistentRegionBase::RefillFreeListAndAllocateNode(
void* owner, TraceRootCallback trace) { … }
void PersistentRegionBase::Iterate(RootVisitor& root_visitor) { … }
PersistentRegion::PersistentRegion(const FatalOutOfMemoryHandler& oom_handler)
: … { … }
bool PersistentRegion::IsCreationThread() { … }
PersistentRegionLock::PersistentRegionLock() { … }
PersistentRegionLock::~PersistentRegionLock() { … }
void PersistentRegionLock::AssertLocked() { … }
CrossThreadPersistentRegion::CrossThreadPersistentRegion(
const FatalOutOfMemoryHandler& oom_handler)
: … { … }
CrossThreadPersistentRegion::~CrossThreadPersistentRegion() { … }
void CrossThreadPersistentRegion::Iterate(RootVisitor& root_visitor) { … }
size_t CrossThreadPersistentRegion::NodesInUse() const { … }
void CrossThreadPersistentRegion::ClearAllUsedNodes() { … }
}
}