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

#include <page-allocator.h>

Inheritance diagram for v8::base::PageAllocator:
Collaboration diagram for v8::base::PageAllocator:

Public Member Functions

 PageAllocator ()
 
 ~PageAllocator () override=default
 
size_t AllocatePageSize () override
 
size_t CommitPageSize () override
 
void SetRandomMmapSeed (int64_t seed) override
 
void * GetRandomMmapAddr () override
 
void * AllocatePages (void *hint, size_t size, size_t alignment, PageAllocator::Permission access) override
 
bool CanAllocateSharedPages () override
 
std::unique_ptr< v8::PageAllocator::SharedMemoryAllocateSharedPages (size_t size, const void *original_address) override
 
bool FreePages (void *address, size_t size) override
 
bool ReleasePages (void *address, size_t size, size_t new_size) override
 
bool SetPermissions (void *address, size_t size, PageAllocator::Permission access) override
 
bool RecommitPages (void *address, size_t size, PageAllocator::Permission access) override
 
bool DiscardSystemPages (void *address, size_t size) override
 
bool DecommitPages (void *address, size_t size) override
 
bool SealPages (void *address, size_t size) override
 

Private Member Functions

void * RemapShared (void *old_address, void *new_address, size_t size)
 

Private Attributes

const size_t allocate_page_size_
 
const size_t commit_page_size_
 

Friends

class v8::base::SharedMemory
 

Detailed Description

Definition at line 19 of file page-allocator.h.

Constructor & Destructor Documentation

◆ PageAllocator()

v8::base::PageAllocator::PageAllocator ( )

Definition at line 33 of file page-allocator.cc.

◆ ~PageAllocator()

v8::base::PageAllocator::~PageAllocator ( )
overridedefault

Member Function Documentation

◆ AllocatePages()

void * v8::base::PageAllocator::AllocatePages ( void * hint,
size_t size,
size_t alignment,
PageAllocator::Permission access )
override

Definition at line 45 of file page-allocator.cc.

Here is the call graph for this function:

◆ AllocatePageSize()

size_t v8::base::PageAllocator::AllocatePageSize ( )
inlineoverride

Definition at line 25 of file page-allocator.h.

◆ AllocateSharedPages()

std::unique_ptr< v8::PageAllocator::SharedMemory > v8::base::PageAllocator::AllocateSharedPages ( size_t size,
const void * original_address )
override

Definition at line 106 of file page-allocator.cc.

Here is the call graph for this function:

◆ CanAllocateSharedPages()

bool v8::base::PageAllocator::CanAllocateSharedPages ( )
override

Definition at line 97 of file page-allocator.cc.

◆ CommitPageSize()

size_t v8::base::PageAllocator::CommitPageSize ( )
inlineoverride

Definition at line 27 of file page-allocator.h.

◆ DecommitPages()

bool v8::base::PageAllocator::DecommitPages ( void * address,
size_t size )
override

Definition at line 161 of file page-allocator.cc.

Here is the call graph for this function:

◆ DiscardSystemPages()

bool v8::base::PageAllocator::DiscardSystemPages ( void * address,
size_t size )
override

Definition at line 157 of file page-allocator.cc.

Here is the call graph for this function:

◆ FreePages()

bool v8::base::PageAllocator::FreePages ( void * address,
size_t size )
override

Definition at line 133 of file page-allocator.cc.

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

◆ GetRandomMmapAddr()

void * v8::base::PageAllocator::GetRandomMmapAddr ( )
override

Definition at line 41 of file page-allocator.cc.

Here is the call graph for this function:

◆ RecommitPages()

bool v8::base::PageAllocator::RecommitPages ( void * address,
size_t size,
PageAllocator::Permission access )
override

Definition at line 151 of file page-allocator.cc.

Here is the call graph for this function:

◆ ReleasePages()

bool v8::base::PageAllocator::ReleasePages ( void * address,
size_t size,
size_t new_size )
override

Definition at line 138 of file page-allocator.cc.

Here is the call graph for this function:

◆ RemapShared()

void * v8::base::PageAllocator::RemapShared ( void * old_address,
void * new_address,
size_t size )
private

Definition at line 124 of file page-allocator.cc.

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

◆ SealPages()

bool v8::base::PageAllocator::SealPages ( void * address,
size_t size )
override

Definition at line 165 of file page-allocator.cc.

Here is the call graph for this function:

◆ SetPermissions()

bool v8::base::PageAllocator::SetPermissions ( void * address,
size_t size,
PageAllocator::Permission access )
override

Definition at line 145 of file page-allocator.cc.

Here is the call graph for this function:

◆ SetRandomMmapSeed()

void v8::base::PageAllocator::SetRandomMmapSeed ( int64_t seed)
override

Definition at line 37 of file page-allocator.cc.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ v8::base::SharedMemory

friend class v8::base::SharedMemory
friend

Definition at line 58 of file page-allocator.h.

Member Data Documentation

◆ allocate_page_size_

const size_t v8::base::PageAllocator::allocate_page_size_
private

Definition at line 62 of file page-allocator.h.

◆ commit_page_size_

const size_t v8::base::PageAllocator::commit_page_size_
private

Definition at line 63 of file page-allocator.h.


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