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

#include <heap-space.h>

Inheritance diagram for cppgc::internal::BaseSpace:
Collaboration diagram for cppgc::internal::BaseSpace:

Public Types

using Pages = std::vector<BasePage*>
 
using iterator = Pages::iterator
 
using const_iterator = Pages::const_iterator
 

Public Member Functions

 BaseSpace (const BaseSpace &)=delete
 
BaseSpaceoperator= (const BaseSpace &)=delete
 
virtual ~BaseSpace ()
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
size_t size () const
 
bool is_large () const
 
size_t index () const
 
RawHeapraw_heap ()
 
const RawHeapraw_heap () const
 
void AddPage (BasePage *)
 
void RemovePage (BasePage *)
 
Pages RemoveAllPages ()
 
v8::base::Mutexpages_mutex () const
 
bool is_compactable () const
 

Protected Types

enum class  PageType { kNormal , kLarge }
 

Protected Member Functions

 BaseSpace (RawHeap *heap, size_t index, PageType type, bool is_compactable)
 

Private Attributes

RawHeapheap_
 
Pages pages_
 
v8::base::Mutex pages_mutex_
 
const size_t index_
 
const PageType type_
 
const bool is_compactable_
 

Detailed Description

Definition at line 22 of file heap-space.h.

Member Typedef Documentation

◆ const_iterator

using cppgc::internal::BaseSpace::const_iterator = Pages::const_iterator

Definition at line 27 of file heap-space.h.

◆ iterator

using cppgc::internal::BaseSpace::iterator = Pages::iterator

Definition at line 26 of file heap-space.h.

◆ Pages

Definition at line 24 of file heap-space.h.

Member Enumeration Documentation

◆ PageType

enum class cppgc::internal::BaseSpace::PageType
strongprotected
Enumerator
kNormal 
kLarge 

Definition at line 55 of file heap-space.h.

Constructor & Destructor Documentation

◆ BaseSpace() [1/2]

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

◆ ~BaseSpace()

cppgc::internal::BaseSpace::~BaseSpace ( )
virtualdefault

◆ BaseSpace() [2/2]

cppgc::internal::BaseSpace::BaseSpace ( RawHeap * heap,
size_t index,
PageType type,
bool is_compactable )
explicitprotected

Definition at line 17 of file heap-space.cc.

Member Function Documentation

◆ AddPage()

void cppgc::internal::BaseSpace::AddPage ( BasePage * page)

Definition at line 25 of file heap-space.cc.

◆ begin() [1/2]

iterator cppgc::internal::BaseSpace::begin ( )
inline

Definition at line 33 of file heap-space.h.

◆ begin() [2/2]

const_iterator cppgc::internal::BaseSpace::begin ( ) const
inline

Definition at line 34 of file heap-space.h.

◆ end() [1/2]

iterator cppgc::internal::BaseSpace::end ( )
inline

Definition at line 35 of file heap-space.h.

◆ end() [2/2]

const_iterator cppgc::internal::BaseSpace::end ( ) const
inline

Definition at line 36 of file heap-space.h.

◆ index()

size_t cppgc::internal::BaseSpace::index ( ) const
inline

Definition at line 41 of file heap-space.h.

◆ is_compactable()

bool cppgc::internal::BaseSpace::is_compactable ( ) const
inline

Definition at line 52 of file heap-space.h.

◆ is_large()

bool cppgc::internal::BaseSpace::is_large ( ) const
inline

Definition at line 40 of file heap-space.h.

◆ operator=()

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

◆ pages_mutex()

v8::base::Mutex & cppgc::internal::BaseSpace::pages_mutex ( ) const
inline

Definition at line 50 of file heap-space.h.

◆ raw_heap() [1/2]

RawHeap * cppgc::internal::BaseSpace::raw_heap ( )
inline

Definition at line 43 of file heap-space.h.

Here is the caller graph for this function:

◆ raw_heap() [2/2]

const RawHeap * cppgc::internal::BaseSpace::raw_heap ( ) const
inline

Definition at line 44 of file heap-space.h.

◆ RemoveAllPages()

BaseSpace::Pages cppgc::internal::BaseSpace::RemoveAllPages ( )

Definition at line 38 of file heap-space.cc.

Here is the call graph for this function:

◆ RemovePage()

void cppgc::internal::BaseSpace::RemovePage ( BasePage * page)

Definition at line 31 of file heap-space.cc.

Here is the caller graph for this function:

◆ size()

size_t cppgc::internal::BaseSpace::size ( ) const
inline

Definition at line 38 of file heap-space.h.

Member Data Documentation

◆ heap_

RawHeap* cppgc::internal::BaseSpace::heap_
private

Definition at line 60 of file heap-space.h.

◆ index_

const size_t cppgc::internal::BaseSpace::index_
private

Definition at line 63 of file heap-space.h.

◆ is_compactable_

const bool cppgc::internal::BaseSpace::is_compactable_
private

Definition at line 65 of file heap-space.h.

◆ pages_

Pages cppgc::internal::BaseSpace::pages_
private

Definition at line 61 of file heap-space.h.

◆ pages_mutex_

v8::base::Mutex cppgc::internal::BaseSpace::pages_mutex_
mutableprivate

Definition at line 62 of file heap-space.h.

◆ type_

const PageType cppgc::internal::BaseSpace::type_
private

Definition at line 64 of file heap-space.h.


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