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

#include <page-memory.h>

Collaboration diagram for cppgc::internal::PageBackend:

Public Member Functions

 PageBackend (PageAllocator &normal_page_allocator, PageAllocator &large_page_allocator)
 
 ~PageBackend ()
 
Address TryAllocateNormalPageMemory ()
 
void FreeNormalPageMemory (Address writeable_base)
 
Address TryAllocateLargePageMemory (size_t size)
 
void FreeLargePageMemory (Address writeable_base)
 
Address Lookup (ConstAddress) const
 
 PageBackend (const PageBackend &)=delete
 
PageBackendoperator= (const PageBackend &)=delete
 
void ReleasePooledPages ()
 
PageMemoryRegionTreeget_page_memory_region_tree_for_testing ()
 
NormalPageMemoryPoolpage_pool ()
 

Private Attributes

v8::base::Mutex mutex_
 
PageAllocatornormal_page_allocator_
 
PageAllocatorlarge_page_allocator_
 
NormalPageMemoryPool page_pool_
 
PageMemoryRegionTree page_memory_region_tree_
 
std::unordered_map< PageMemoryRegion *, std::unique_ptr< PageMemoryRegion > > normal_page_memory_regions_
 
std::unordered_map< PageMemoryRegion *, std::unique_ptr< PageMemoryRegion > > large_page_memory_regions_
 

Detailed Description

Definition at line 136 of file page-memory.h.

Constructor & Destructor Documentation

◆ PageBackend() [1/2]

cppgc::internal::PageBackend::PageBackend ( PageAllocator & normal_page_allocator,
PageAllocator & large_page_allocator )

Definition at line 197 of file page-memory.cc.

◆ ~PageBackend()

cppgc::internal::PageBackend::~PageBackend ( )
default

◆ PageBackend() [2/2]

cppgc::internal::PageBackend::PageBackend ( const PageBackend & )
delete

Member Function Documentation

◆ FreeLargePageMemory()

void cppgc::internal::PageBackend::FreeLargePageMemory ( Address writeable_base)

Definition at line 249 of file page-memory.cc.

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

◆ FreeNormalPageMemory()

void cppgc::internal::PageBackend::FreeNormalPageMemory ( Address writeable_base)

Definition at line 226 of file page-memory.cc.

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

◆ get_page_memory_region_tree_for_testing()

PageMemoryRegionTree & cppgc::internal::PageBackend::get_page_memory_region_tree_for_testing ( )
inline

Definition at line 170 of file page-memory.h.

◆ Lookup()

Address cppgc::internal::PageBackend::Lookup ( ConstAddress address) const
inline

Definition at line 209 of file page-memory.h.

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

◆ operator=()

PageBackend & cppgc::internal::PageBackend::operator= ( const PageBackend & )
delete

◆ page_pool()

NormalPageMemoryPool & cppgc::internal::PageBackend::page_pool ( )
inline

Definition at line 174 of file page-memory.h.

◆ ReleasePooledPages()

void cppgc::internal::PageBackend::ReleasePooledPages ( )

Definition at line 258 of file page-memory.cc.

Here is the call graph for this function:

◆ TryAllocateLargePageMemory()

Address cppgc::internal::PageBackend::TryAllocateLargePageMemory ( size_t size)

Definition at line 234 of file page-memory.cc.

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

◆ TryAllocateNormalPageMemory()

Address cppgc::internal::PageBackend::TryAllocateNormalPageMemory ( )

Definition at line 204 of file page-memory.cc.

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

Member Data Documentation

◆ large_page_allocator_

PageAllocator& cppgc::internal::PageBackend::large_page_allocator_
private

Definition at line 180 of file page-memory.h.

◆ large_page_memory_regions_

std::unordered_map<PageMemoryRegion*, std::unique_ptr<PageMemoryRegion> > cppgc::internal::PageBackend::large_page_memory_regions_
private

Definition at line 192 of file page-memory.h.

◆ mutex_

v8::base::Mutex cppgc::internal::PageBackend::mutex_
mutableprivate

Definition at line 178 of file page-memory.h.

◆ normal_page_allocator_

PageAllocator& cppgc::internal::PageBackend::normal_page_allocator_
private

Definition at line 179 of file page-memory.h.

◆ normal_page_memory_regions_

std::unordered_map<PageMemoryRegion*, std::unique_ptr<PageMemoryRegion> > cppgc::internal::PageBackend::normal_page_memory_regions_
private

Definition at line 190 of file page-memory.h.

◆ page_memory_region_tree_

PageMemoryRegionTree cppgc::internal::PageBackend::page_memory_region_tree_
private

Definition at line 188 of file page-memory.h.

◆ page_pool_

NormalPageMemoryPool cppgc::internal::PageBackend::page_pool_
private

Definition at line 187 of file page-memory.h.


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