5#ifndef V8_HEAP_READ_ONLY_HEAP_H_
6#define V8_HEAP_READ_ONLY_HEAP_H_
21class SharedMemoryStatistics;
27class ReadOnlyArtifacts;
28class ReadOnlyPageMetadata;
30class SharedReadOnlySpace;
81#ifdef V8_ENABLE_SANDBOX
82 CodePointerTable::Space* code_pointer_space() {
return &code_pointer_space_; }
84#ifdef V8_ENABLE_LEAPTIERING
85 JSDispatchTable::Space* js_dispatch_table_space() {
86 return &js_dispatch_table_space_;
116#ifdef V8_ENABLE_SANDBOX
119 CodePointerTable::Space code_pointer_space_;
121#ifdef V8_ENABLE_LEAPTIERING
122 JSDispatchTable::Space js_dispatch_table_space_;
142 SkipFreeSpaceOrFiller::kYes);
144 Address current_addr,
146 SkipFreeSpaceOrFiller::kYes);
const ReadOnlySpace *const ro_space_
std::vector< ReadOnlyPageMetadata * >::const_iterator current_page_
ReadOnlyPageObjectIterator page_iterator_
static void PopulateReadOnlySpaceStatistics(SharedMemoryStatistics *statistics)
void DeserializeIntoIsolate(Isolate *isolate, SnapshotData *read_only_snapshot_data, bool can_rehash)
static V8_EXPORT_PRIVATE bool Contains(Address address)
ReadOnlyHeap(const ReadOnlyHeap &)=delete
void InitializeFromIsolateRoots(Isolate *isolate)
bool roots_init_complete() const
Address read_only_roots_[kEntriesCount]
static constexpr size_t kEntriesCount
static V8_EXPORT_PRIVATE bool SandboxSafeContains(Tagged< HeapObject > object)
static V8_EXPORT_PRIVATE ReadOnlyRoots EarlyGetReadOnlyRoots(Tagged< HeapObject > object)
static void SetUp(Isolate *isolate, SnapshotData *read_only_snapshot_data, bool can_rehash)
bool roots_init_complete_
V8_EXPORT_PRIVATE void OnCreateHeapObjectsComplete(Isolate *isolate)
ReadOnlySpace * read_only_space_
friend ReadOnlyRoots GetReadOnlyRoots()
void InitFromIsolate(Isolate *isolate)
void InitializeIsolateRoots(Isolate *isolate)
ReadOnlyHeap(ReadOnlySpace *ro_space)
static void CreateInitialHeapForBootstrapping(Isolate *isolate, ReadOnlyArtifacts *artifacts)
ReadOnlyHeap & operator=(const ReadOnlyHeap &)=delete
void OnCreateRootsComplete(Isolate *isolate)
ReadOnlySpace * read_only_space() const
const SkipFreeSpaceOrFiller skip_free_space_or_filler_
const ReadOnlyPageMetadata * page_
#define V8_EXPORT_PRIVATE