#ifndef V8_HEAP_SPACES_H_
#define V8_HEAP_SPACES_H_
#include <atomic>
#include <memory>
#include "src/base/iterator.h"
#include "src/base/macros.h"
#include "src/common/globals.h"
#include "src/heap/allocation-observer.h"
#include "src/heap/base-space.h"
#include "src/heap/base/active-system-pages.h"
#include "src/heap/free-list.h"
#include "src/heap/linear-allocation-area.h"
#include "src/heap/list.h"
#include "src/heap/main-allocator.h"
#include "src/heap/memory-chunk-layout.h"
#include "src/heap/memory-chunk-metadata.h"
#include "src/heap/mutable-page-metadata.h"
#include "src/heap/page-metadata.h"
#include "src/heap/slot-set.h"
#include "src/objects/objects.h"
#include "src/utils/allocation.h"
#include "src/utils/utils.h"
#include "testing/gtest/include/gtest/gtest_prod.h"
namespace v8 {
namespace internal {
namespace heap {
class HeapTester;
class TestCodePageAllocatorScope;
}
class AllocationObserver;
class FreeList;
class Heap;
class Isolate;
class LargeObjectSpace;
class LargePageMetadata;
class ObjectIterator;
class PagedSpaceBase;
class SemiSpace;
#define DCHECK_OBJECT_SIZE(size) …
#define DCHECK_CODEOBJECT_SIZE(size) …
template <typename Enum, typename Callback>
void ForAll(Callback callback) { … }
class V8_EXPORT_PRIVATE Space : public BaseSpace { … };
static_assert …;
class V8_EXPORT_PRIVATE ObjectIterator : public Malloced { … };
template <class PageType>
class PageIteratorImpl
: public base::iterator<std::forward_iterator_tag, PageType> { … };
PageIterator;
ConstPageIterator;
LargePageIterator;
ConstLargePageIterator;
class PageRange { … };
class ConstPageRange { … };
class V8_EXPORT_PRIVATE SpaceWithLinearArea : public Space { … };
class V8_EXPORT_PRIVATE SpaceIterator : public Malloced { … };
class MemoryChunkIterator { … };
}
}
#endif