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

#include <code-range.h>

Inheritance diagram for v8::internal::CodeRange:
Collaboration diagram for v8::internal::CodeRange:

Public Member Functions

V8_EXPORT_PRIVATE ~CodeRange () override
 
uint8_t * embedded_blob_code_copy () const
 
bool InitReservation (v8::PageAllocator *page_allocator, size_t requested, bool immutable)
 
V8_EXPORT_PRIVATE void Free ()
 
uint8_t * RemapEmbeddedBuiltins (Isolate *isolate, const uint8_t *embedded_blob_code, size_t embedded_blob_code_size)
 
- Public Member Functions inherited from v8::internal::VirtualMemoryCage
 VirtualMemoryCage ()
 
virtual ~VirtualMemoryCage ()
 
 VirtualMemoryCage (const VirtualMemoryCage &)=delete
 
VirtualMemoryCageoperator= (VirtualMemoryCage &)=delete
 
 VirtualMemoryCage (VirtualMemoryCage &&other) V8_NOEXCEPT
 
VirtualMemoryCageoperator= (VirtualMemoryCage &&other) V8_NOEXCEPT
 
Address base () const
 
size_t size () const
 
base::AddressRegion region () const
 
base::BoundedPageAllocatorpage_allocator () const
 
VirtualMemoryreservation ()
 
const VirtualMemoryreservation () const
 
bool IsReserved () const
 
bool InitReservation (const ReservationParams &params, base::AddressRegion existing_reservation=base::AddressRegion())
 
void Free ()
 

Static Public Member Functions

static size_t GetWritableReservedAreaSize ()
 

Static Private Member Functions

static base::AddressRegion GetPreferredRegion (size_t radius_in_megabytes, size_t allocate_page_size)
 

Private Attributes

std::atomic< uint8_t * > embedded_blob_code_copy_ {nullptr}
 
base::Mutex remap_embedded_builtins_mutex_
 

Additional Inherited Members

- Protected Attributes inherited from v8::internal::VirtualMemoryCage
Address base_ = kNullAddress
 
size_t size_ = 0
 
std::unique_ptr< base::BoundedPageAllocatorpage_allocator_
 
VirtualMemory reservation_
 

Detailed Description

Definition at line 75 of file code-range.h.

Constructor & Destructor Documentation

◆ ~CodeRange()

v8::internal::CodeRange::~CodeRange ( )
override

Definition at line 60 of file code-range.cc.

Here is the call graph for this function:

Member Function Documentation

◆ embedded_blob_code_copy()

uint8_t * v8::internal::CodeRange::embedded_blob_code_copy ( ) const
inline

Definition at line 83 of file code-range.h.

Here is the caller graph for this function:

◆ Free()

void v8::internal::CodeRange::Free ( )

Definition at line 330 of file code-range.cc.

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

◆ GetPreferredRegion()

base::AddressRegion v8::internal::CodeRange::GetPreferredRegion ( size_t radius_in_megabytes,
size_t allocate_page_size )
staticprivate

Definition at line 281 of file code-range.cc.

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

◆ GetWritableReservedAreaSize()

size_t v8::internal::CodeRange::GetWritableReservedAreaSize ( )
static

Definition at line 63 of file code-range.cc.

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

◆ InitReservation()

bool v8::internal::CodeRange::InitReservation ( v8::PageAllocator * page_allocator,
size_t requested,
bool immutable )

Definition at line 70 of file code-range.cc.

Here is the call graph for this function:

◆ RemapEmbeddedBuiltins()

uint8_t * v8::internal::CodeRange::RemapEmbeddedBuiltins ( Isolate * isolate,
const uint8_t * embedded_blob_code,
size_t embedded_blob_code_size )

Definition at line 348 of file code-range.cc.

Here is the call graph for this function:

Member Data Documentation

◆ embedded_blob_code_copy_

std::atomic<uint8_t*> v8::internal::CodeRange::embedded_blob_code_copy_ {nullptr}
private

Definition at line 134 of file code-range.h.

◆ remap_embedded_builtins_mutex_

base::Mutex v8::internal::CodeRange::remap_embedded_builtins_mutex_
private

Definition at line 138 of file code-range.h.


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