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

#include <virtual-address-space.h>

Inheritance diagram for v8::base::VirtualAddressSubspace:
Collaboration diagram for v8::base::VirtualAddressSubspace:

Public Member Functions

 ~VirtualAddressSubspace () override
 
void SetRandomSeed (int64_t seed) override
 
Address RandomPageAddress () override
 
Address AllocatePages (Address hint, size_t size, size_t alignment, PagePermissions permissions) override
 
void FreePages (Address address, size_t size) override
 
bool SetPagePermissions (Address address, size_t size, PagePermissions permissions) override
 
bool AllocateGuardRegion (Address address, size_t size) override
 
void FreeGuardRegion (Address address, size_t size) override
 
Address AllocateSharedPages (Address hint, size_t size, PagePermissions permissions, PlatformSharedMemoryHandle handle, uint64_t offset) override
 
void FreeSharedPages (Address address, size_t size) override
 
bool CanAllocateSubspaces () override
 
std::unique_ptr< v8::VirtualAddressSpaceAllocateSubspace (Address hint, size_t size, size_t alignment, PagePermissions max_page_permissions) override
 
bool RecommitPages (Address address, size_t size, PagePermissions permissions) override
 
bool DiscardSystemPages (Address address, size_t size) override
 
bool DecommitPages (Address address, size_t size) override
 
- Public Member Functions inherited from v8::base::VirtualAddressSpaceBase
 VirtualAddressSpace ()
 

Private Member Functions

void FreeSubspace (VirtualAddressSubspace *subspace) override
 
 VirtualAddressSubspace (AddressSpaceReservation reservation, VirtualAddressSpaceBase *parent_space, PagePermissions max_page_permissions)
 

Private Attributes

AddressSpaceReservation reservation_
 
Mutex mutex_
 
RegionAllocator region_allocator_
 
RandomNumberGenerator rng_
 
VirtualAddressSpaceBaseparent_space_
 

Friends

class v8::base::VirtualAddressSpace
 

Detailed Description

Definition at line 100 of file virtual-address-space.h.

Constructor & Destructor Documentation

◆ ~VirtualAddressSubspace()

v8::base::VirtualAddressSubspace::~VirtualAddressSubspace ( )
override

Definition at line 218 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ VirtualAddressSubspace()

v8::base::VirtualAddressSubspace::VirtualAddressSubspace ( AddressSpaceReservation reservation,
VirtualAddressSpaceBase * parent_space,
PagePermissions max_page_permissions )
private

Definition at line 192 of file virtual-address-space.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AllocateGuardRegion()

bool v8::base::VirtualAddressSubspace::AllocateGuardRegion ( Address address,
size_t size )
override

Definition at line 289 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ AllocatePages()

Address v8::base::VirtualAddressSubspace::AllocatePages ( Address hint,
size_t size,
size_t alignment,
PagePermissions permissions )
override

Definition at line 239 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ AllocateSharedPages()

Address v8::base::VirtualAddressSubspace::AllocateSharedPages ( Address hint,
size_t size,
PagePermissions permissions,
PlatformSharedMemoryHandle handle,
uint64_t offset )
override

Definition at line 308 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ AllocateSubspace()

std::unique_ptr< v8::VirtualAddressSpace > v8::base::VirtualAddressSubspace::AllocateSubspace ( Address hint,
size_t size,
size_t alignment,
PagePermissions max_page_permissions )
override

Definition at line 344 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ CanAllocateSubspaces()

bool v8::base::VirtualAddressSubspace::CanAllocateSubspaces ( )
inlineoverride

Definition at line 127 of file virtual-address-space.h.

◆ DecommitPages()

bool v8::base::VirtualAddressSubspace::DecommitPages ( Address address,
size_t size )
override

Definition at line 390 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ DiscardSystemPages()

bool v8::base::VirtualAddressSubspace::DiscardSystemPages ( Address address,
size_t size )
override

Definition at line 382 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ FreeGuardRegion()

void v8::base::VirtualAddressSubspace::FreeGuardRegion ( Address address,
size_t size )
override

Definition at line 300 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ FreePages()

void v8::base::VirtualAddressSubspace::FreePages ( Address address,
size_t size )
override

Definition at line 262 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ FreeSharedPages()

void v8::base::VirtualAddressSubspace::FreeSharedPages ( Address address,
size_t size )
override

Definition at line 331 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ FreeSubspace()

void v8::base::VirtualAddressSubspace::FreeSubspace ( VirtualAddressSubspace * subspace)
overrideprivatevirtual

Implements v8::base::VirtualAddressSpaceBase.

Definition at line 397 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ RandomPageAddress()

Address v8::base::VirtualAddressSubspace::RandomPageAddress ( )
override

Definition at line 231 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ RecommitPages()

bool v8::base::VirtualAddressSubspace::RecommitPages ( Address address,
size_t size,
PagePermissions permissions )
override

Definition at line 371 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ SetPagePermissions()

bool v8::base::VirtualAddressSubspace::SetPagePermissions ( Address address,
size_t size,
PagePermissions permissions )
override

Definition at line 278 of file virtual-address-space.cc.

Here is the call graph for this function:

◆ SetRandomSeed()

void v8::base::VirtualAddressSubspace::SetRandomSeed ( int64_t seed)
override

Definition at line 226 of file virtual-address-space.cc.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ v8::base::VirtualAddressSpace

friend class v8::base::VirtualAddressSpace
friend

Definition at line 143 of file virtual-address-space.h.

Member Data Documentation

◆ mutex_

Mutex v8::base::VirtualAddressSubspace::mutex_
private

Definition at line 156 of file virtual-address-space.h.

◆ parent_space_

VirtualAddressSpaceBase* v8::base::VirtualAddressSubspace::parent_space_
private

Definition at line 167 of file virtual-address-space.h.

◆ region_allocator_

RegionAllocator v8::base::VirtualAddressSubspace::region_allocator_
private

Definition at line 160 of file virtual-address-space.h.

◆ reservation_

AddressSpaceReservation v8::base::VirtualAddressSubspace::reservation_
private

Definition at line 152 of file virtual-address-space.h.

◆ rng_

RandomNumberGenerator v8::base::VirtualAddressSubspace::rng_
private

Definition at line 163 of file virtual-address-space.h.


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