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

#include <page-pool.h>

Collaboration diagram for v8::internal::PagePool:

Public Member Functions

 PagePool ()=default
 
 ~PagePool ()
 
 PagePool (const PagePool &)=delete
 
PagePooloperator= (const PagePool &)=delete
 
void Add (Isolate *isolate, MutablePageMetadata *chunk)
 
MutablePageMetadataRemove (Isolate *isolate)
 
void ReleaseOnTearDown (Isolate *isolate)
 
V8_EXPORT_PRIVATE void ReleaseImmediately (Isolate *isolate)
 
void TearDown ()
 
size_t ReleaseUpTo (size_t id)
 
size_t GetCount (Isolate *isolate) const
 
size_t GetSharedCount () const
 
size_t GetTotalCount () const
 

Private Attributes

absl::flat_hash_map< Isolate *, std::vector< MutablePageMetadata * > > local_pools
 
std::vector< std::pair< std::vector< MutablePageMetadata * >, size_t > > shared_pool_
 
size_t next_id_ = 1
 
base::Mutex mutex_
 

Detailed Description

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

Constructor & Destructor Documentation

◆ PagePool() [1/2]

v8::internal::PagePool::PagePool ( )
default

◆ ~PagePool()

v8::internal::PagePool::~PagePool ( )

Definition at line 15 of file page-pool.cc.

◆ PagePool() [2/2]

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

Member Function Documentation

◆ Add()

void v8::internal::PagePool::Add ( Isolate * isolate,
MutablePageMetadata * chunk )

Definition at line 173 of file page-pool.cc.

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

◆ GetCount()

size_t v8::internal::PagePool::GetCount ( Isolate * isolate) const

Definition at line 137 of file page-pool.cc.

Here is the caller graph for this function:

◆ GetSharedCount()

size_t v8::internal::PagePool::GetSharedCount ( ) const

Definition at line 147 of file page-pool.cc.

Here is the caller graph for this function:

◆ GetTotalCount()

size_t v8::internal::PagePool::GetTotalCount ( ) const

Definition at line 158 of file page-pool.cc.

Here is the caller graph for this function:

◆ operator=()

PagePool & v8::internal::PagePool::operator= ( const PagePool & )
delete

◆ ReleaseImmediately()

void v8::internal::PagePool::ReleaseImmediately ( Isolate * isolate)

Definition at line 80 of file page-pool.cc.

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

◆ ReleaseOnTearDown()

void v8::internal::PagePool::ReleaseOnTearDown ( Isolate * isolate)

Definition at line 43 of file page-pool.cc.

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

◆ ReleaseUpTo()

size_t v8::internal::PagePool::ReleaseUpTo ( size_t id)

Definition at line 110 of file page-pool.cc.

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

◆ Remove()

MutablePageMetadata * v8::internal::PagePool::Remove ( Isolate * isolate)

Definition at line 186 of file page-pool.cc.

Here is the caller graph for this function:

◆ TearDown()

void v8::internal::PagePool::TearDown ( )

Definition at line 99 of file page-pool.cc.

Here is the call graph for this function:

Member Data Documentation

◆ local_pools

absl::flat_hash_map<Isolate*, std::vector<MutablePageMetadata*> > v8::internal::PagePool::local_pools
private

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

◆ mutex_

base::Mutex v8::internal::PagePool::mutex_
mutableprivate

Definition at line 69 of file page-pool.h.

◆ next_id_

size_t v8::internal::PagePool::next_id_ = 1
private

Definition at line 67 of file page-pool.h.

◆ shared_pool_

std::vector<std::pair<std::vector<MutablePageMetadata*>, size_t> > v8::internal::PagePool::shared_pool_
private

Definition at line 66 of file page-pool.h.


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