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

#include <read-only-spaces.h>

Inheritance diagram for v8::internal::SharedReadOnlySpace:
Collaboration diagram for v8::internal::SharedReadOnlySpace:

Public Member Functions

 SharedReadOnlySpace (Heap *heap, ReadOnlyArtifacts *artifacts)
 
 SharedReadOnlySpace (const SharedReadOnlySpace &)=delete
 
void TearDown (MemoryAllocator *memory_allocator) override
 
- Public Member Functions inherited from v8::internal::ReadOnlySpace
V8_EXPORT_PRIVATE ReadOnlySpace (Heap *heap)
 
void DetachPagesAndAddToArtifacts (ReadOnlyArtifacts *artifacts)
 
V8_EXPORT_PRIVATE ~ReadOnlySpace () override
 
bool IsDetached () const
 
bool writable () const
 
bool Contains (Address a)=delete
 
bool Contains (Tagged< Object > o)=delete
 
V8_EXPORT_PRIVATE AllocationResult AllocateRaw (int size_in_bytes, AllocationAlignment alignment)
 
V8_EXPORT_PRIVATE void ClearStringPaddingIfNeeded ()
 
V8_EXPORT_PRIVATE void Seal (SealMode ro_mode)
 
void RepairFreeSpacesAfterDeserialization ()
 
size_t Size () const override
 
V8_EXPORT_PRIVATE size_t CommittedPhysicalMemory () const override
 
const std::vector< ReadOnlyPageMetadata * > & pages () const
 
Address top () const
 
Address limit () const
 
size_t Capacity () const
 
size_t IndexOf (const MemoryChunkMetadata *chunk) const
 
bool ContainsSlow (Address addr) const
 
V8_EXPORT_PRIVATE void ShrinkPages ()
 
Address FirstPageAddress () const
 
void EnsurePage ()
 
- Public Member Functions inherited from v8::internal::BaseSpace
 BaseSpace (const BaseSpace &)=delete
 
BaseSpaceoperator= (const BaseSpace &)=delete
 
Heapheap () const
 
AllocationSpace identity () const
 
virtual size_t CommittedMemory () const
 
virtual size_t MaximumCommittedMemory () const
 

Private Member Functions

 SharedReadOnlySpace (Heap *heap)
 

Additional Inherited Members

- Public Types inherited from v8::internal::ReadOnlySpace
enum class  SealMode { kDetachFromHeap , kDetachFromHeapAndUnregisterMemory , kDoNotDetachFromHeap }
 
- Static Public Member Functions inherited from v8::internal::Malloced
static void * operator new (size_t size)
 
static void operator delete (void *p)
 
- Protected Member Functions inherited from v8::internal::ReadOnlySpace
void SetPermissionsForPages (MemoryAllocator *memory_allocator, PageAllocator::Permission access)
 
- Protected Member Functions inherited from v8::internal::BaseSpace
 BaseSpace (Heap *heap, AllocationSpace id)
 
virtual ~BaseSpace ()=default
 
void AccountCommitted (size_t bytes)
 
void AccountUncommitted (size_t bytes)
 
- Protected Attributes inherited from v8::internal::ReadOnlySpace
bool is_marked_read_only_ = false
 
AllocationStats accounting_stats_
 
std::vector< ReadOnlyPageMetadata * > pages_
 
Address top_ = kNullAddress
 
Address limit_ = kNullAddress
 
- Protected Attributes inherited from v8::internal::BaseSpace
Heapheap_
 
AllocationSpace id_
 
std::atomic< size_tcommitted_ {0}
 
size_t max_committed_ = 0
 

Detailed Description

Definition at line 251 of file read-only-spaces.h.

Constructor & Destructor Documentation

◆ SharedReadOnlySpace() [1/3]

v8::internal::SharedReadOnlySpace::SharedReadOnlySpace ( Heap * heap,
ReadOnlyArtifacts * artifacts )

Definition at line 512 of file read-only-spaces.cc.

Here is the call graph for this function:

◆ SharedReadOnlySpace() [2/3]

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

◆ SharedReadOnlySpace() [3/3]

v8::internal::SharedReadOnlySpace::SharedReadOnlySpace ( Heap * heap)
inlineexplicitprivate

Definition at line 260 of file read-only-spaces.h.

Member Function Documentation

◆ TearDown()

void v8::internal::SharedReadOnlySpace::TearDown ( MemoryAllocator * memory_allocator)
overridevirtual

Reimplemented from v8::internal::ReadOnlySpace.

Definition at line 115 of file read-only-spaces.cc.

Here is the call graph for this function:

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