v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::ReadOnlyHeap Class Referencefinal

#include <read-only-heap.h>

Collaboration diagram for v8::internal::ReadOnlyHeap:

Public Member Functions

 ReadOnlyHeap (ReadOnlySpace *ro_space)
 
 ~ReadOnlyHeap ()
 
 ReadOnlyHeap (const ReadOnlyHeap &)=delete
 
ReadOnlyHeapoperator= (const ReadOnlyHeap &)=delete
 
V8_EXPORT_PRIVATE void OnCreateHeapObjectsComplete (Isolate *isolate)
 
void OnCreateRootsComplete (Isolate *isolate)
 
ReadOnlySpaceread_only_space () const
 
void InitializeIsolateRoots (Isolate *isolate)
 
void InitializeFromIsolateRoots (Isolate *isolate)
 
bool roots_init_complete () const
 

Static Public Member Functions

static void SetUp (Isolate *isolate, SnapshotData *read_only_snapshot_data, bool can_rehash)
 
static void PopulateReadOnlySpaceStatistics (SharedMemoryStatistics *statistics)
 
static V8_EXPORT_PRIVATE bool Contains (Address address)
 
static V8_EXPORT_PRIVATE bool Contains (Tagged< HeapObject > object)
 
static V8_EXPORT_PRIVATE bool SandboxSafeContains (Tagged< HeapObject > object)
 
static V8_EXPORT_PRIVATE ReadOnlyRoots EarlyGetReadOnlyRoots (Tagged< HeapObject > object)
 

Static Public Attributes

static constexpr size_t kEntriesCount
 

Protected Member Functions

void DeserializeIntoIsolate (Isolate *isolate, SnapshotData *read_only_snapshot_data, bool can_rehash)
 
void InitFromIsolate (Isolate *isolate)
 

Static Protected Member Functions

static void CreateInitialHeapForBootstrapping (Isolate *isolate, ReadOnlyArtifacts *artifacts)
 

Protected Attributes

bool roots_init_complete_ = false
 
ReadOnlySpaceread_only_space_ = nullptr
 

Private Attributes

Address read_only_roots_ [kEntriesCount]
 

Friends

class ReadOnlyArtifacts
 
ReadOnlyRoots GetReadOnlyRoots ()
 

Detailed Description

Definition at line 35 of file read-only-heap.h.

Constructor & Destructor Documentation

◆ ReadOnlyHeap() [1/2]

v8::internal::ReadOnlyHeap::ReadOnlyHeap ( ReadOnlySpace * ro_space)
explicit

Definition at line 169 of file read-only-heap.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~ReadOnlyHeap()

v8::internal::ReadOnlyHeap::~ReadOnlyHeap ( )

Definition at line 27 of file read-only-heap.cc.

Here is the call graph for this function:

◆ ReadOnlyHeap() [2/2]

v8::internal::ReadOnlyHeap::ReadOnlyHeap ( const ReadOnlyHeap & )
delete

Member Function Documentation

◆ Contains() [1/2]

bool v8::internal::ReadOnlyHeap::Contains ( Address address)
static

Definition at line 207 of file read-only-heap.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Contains() [2/2]

bool v8::internal::ReadOnlyHeap::Contains ( Tagged< HeapObject > object)
static

Definition at line 212 of file read-only-heap.cc.

Here is the call graph for this function:

◆ CreateInitialHeapForBootstrapping()

void v8::internal::ReadOnlyHeap::CreateInitialHeapForBootstrapping ( Isolate * isolate,
ReadOnlyArtifacts * artifacts )
staticprotected

Definition at line 131 of file read-only-heap.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeserializeIntoIsolate()

void v8::internal::ReadOnlyHeap::DeserializeIntoIsolate ( Isolate * isolate,
SnapshotData * read_only_snapshot_data,
bool can_rehash )
protected

Definition at line 83 of file read-only-heap.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EarlyGetReadOnlyRoots()

ReadOnlyRoots v8::internal::ReadOnlyHeap::EarlyGetReadOnlyRoots ( Tagged< HeapObject > object)
inlinestatic

Definition at line 18 of file read-only-heap-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitFromIsolate()

void v8::internal::ReadOnlyHeap::InitFromIsolate ( Isolate * isolate)
protected

Definition at line 154 of file read-only-heap.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeFromIsolateRoots()

void v8::internal::ReadOnlyHeap::InitializeFromIsolateRoots ( Isolate * isolate)

Definition at line 147 of file read-only-heap.cc.

Here is the caller graph for this function:

◆ InitializeIsolateRoots()

void v8::internal::ReadOnlyHeap::InitializeIsolateRoots ( Isolate * isolate)

Definition at line 140 of file read-only-heap.cc.

Here is the caller graph for this function:

◆ OnCreateHeapObjectsComplete()

void v8::internal::ReadOnlyHeap::OnCreateHeapObjectsComplete ( Isolate * isolate)

Definition at line 111 of file read-only-heap.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnCreateRootsComplete()

void v8::internal::ReadOnlyHeap::OnCreateRootsComplete ( Isolate * isolate)

Definition at line 104 of file read-only-heap.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

ReadOnlyHeap & v8::internal::ReadOnlyHeap::operator= ( const ReadOnlyHeap & )
delete

◆ PopulateReadOnlySpaceStatistics()

void v8::internal::ReadOnlyHeap::PopulateReadOnlySpaceStatistics ( SharedMemoryStatistics * statistics)
static

Definition at line 191 of file read-only-heap.cc.

Here is the call graph for this function:

◆ read_only_space()

ReadOnlySpace * v8::internal::ReadOnlyHeap::read_only_space ( ) const
inline

Definition at line 79 of file read-only-heap.h.

Here is the caller graph for this function:

◆ roots_init_complete()

bool v8::internal::ReadOnlyHeap::roots_init_complete ( ) const
inline

Definition at line 93 of file read-only-heap.h.

Here is the caller graph for this function:

◆ SandboxSafeContains()

bool v8::internal::ReadOnlyHeap::SandboxSafeContains ( Tagged< HeapObject > object)
static

Definition at line 217 of file read-only-heap.cc.

Here is the call graph for this function:

◆ SetUp()

void v8::internal::ReadOnlyHeap::SetUp ( Isolate * isolate,
SnapshotData * read_only_snapshot_data,
bool can_rehash )
static

Definition at line 42 of file read-only-heap.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ GetReadOnlyRoots

ReadOnlyRoots GetReadOnlyRoots ( )
friend

Definition at line 86 of file roots-inl.h.

◆ ReadOnlyArtifacts

friend class ReadOnlyArtifacts
friend

Definition at line 96 of file read-only-heap.h.

Member Data Documentation

◆ kEntriesCount

size_t v8::internal::ReadOnlyHeap::kEntriesCount
staticconstexpr
Initial value:

Definition at line 37 of file read-only-heap.h.

◆ read_only_roots_

Address v8::internal::ReadOnlyHeap::read_only_roots_[kEntriesCount]
private

Definition at line 127 of file read-only-heap.h.

◆ read_only_space_

ReadOnlySpace* v8::internal::ReadOnlyHeap::read_only_space_ = nullptr
protected

Definition at line 114 of file read-only-heap.h.

◆ roots_init_complete_

bool v8::internal::ReadOnlyHeap::roots_init_complete_ = false
protected

Definition at line 113 of file read-only-heap.h.


The documentation for this class was generated from the following files: