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

#include <heap-page.h>

Inheritance diagram for cppgc::internal::LargePage:
Collaboration diagram for cppgc::internal::LargePage:

Public Member Functions

HeapObjectHeaderObjectHeader ()
 
const HeapObjectHeaderObjectHeader () const
 
Address PayloadStart ()
 
ConstAddress PayloadStart () const
 
Address PayloadEnd ()
 
ConstAddress PayloadEnd () const
 
size_t PayloadSize () const
 
size_t ObjectSize () const
 
size_t AllocatedBytesAtLastGC () const
 
bool PayloadContains (ConstAddress address) const
 
- Public Member Functions inherited from cppgc::internal::BasePage
 BasePage (const BasePage &)=delete
 
BasePageoperator= (const BasePage &)=delete
 
HeapBaseheap () const
 
BaseSpacespace () const
 
bool is_large () const
 
Address PayloadStart ()
 
ConstAddress PayloadStart () const
 
Address PayloadEnd ()
 
ConstAddress PayloadEnd () const
 
size_t AllocatedSize () const
 
size_t AllocatedBytesAtLastGC () const
 
template<AccessMode = AccessMode::kNonAtomic>
HeapObjectHeaderObjectHeaderFromInnerAddress (void *address) const
 
template<AccessMode = AccessMode::kNonAtomic>
const HeapObjectHeaderObjectHeaderFromInnerAddress (const void *address) const
 
HeapObjectHeaderTryObjectHeaderFromInnerAddress (void *address) const
 
const HeapObjectHeaderTryObjectHeaderFromInnerAddress (const void *address) const
 
void SynchronizedLoad () const
 
void SynchronizedStore ()
 
void IncrementDiscardedMemory (size_t value)
 
void ResetDiscardedMemory ()
 
size_t discarded_memory () const
 
void IncrementMarkedBytes (size_t value)
 
void DecrementMarkedBytes (size_t value)
 
void ResetMarkedBytes (size_t new_value=0)
 
size_t marked_bytes () const
 
bool contains_young_objects () const
 
void set_as_containing_young_objects (bool value)
 
void ChangeOwner (BaseSpace &)
 
- Public Member Functions inherited from cppgc::internal::BasePageHandle
HeapHandleheap_handle ()
 
const HeapHandleheap_handle () const
 

Static Public Member Functions

static constexpr size_t PageHeaderSize ()
 
static size_t AllocationSize (size_t size)
 
static LargePageTryCreate (PageBackend &, LargePageSpace &, size_t)
 
static void Destroy (LargePage *)
 
static LargePageFrom (BasePage *page)
 
static const LargePageFrom (const BasePage *page)
 
- Static Public Member Functions inherited from cppgc::internal::BasePage
static BasePageFromPayload (void *)
 
static const BasePageFromPayload (const void *)
 
static BasePageFromInnerAddress (const HeapBase *, void *)
 
static const BasePageFromInnerAddress (const HeapBase *, const void *)
 
static void Destroy (BasePage *)
 
- Static Public Member Functions inherited from cppgc::internal::BasePageHandle
static V8_INLINE BasePageHandleFromPayload (void *payload)
 
static V8_INLINE const BasePageHandleFromPayload (const void *payload)
 

Private Member Functions

 LargePage (HeapBase &heap, BaseSpace &space, size_t)
 
 ~LargePage ()=default
 

Private Attributes

size_t payload_size_
 

Static Private Attributes

static constexpr size_t kGuaranteedObjectAlignment
 

Additional Inherited Members

- Protected Types inherited from cppgc::internal::BasePage
enum class  PageType : uint8_t { kNormal , kLarge }
 
- Protected Member Functions inherited from cppgc::internal::BasePage
 BasePage (HeapBase &, BaseSpace &, PageType)
 
- Protected Member Functions inherited from cppgc::internal::BasePageHandle
 BasePageHandle (HeapHandle &heap_handle)
 
- Protected Attributes inherited from cppgc::internal::BasePageHandle
HeapHandleheap_handle_
 

Detailed Description

Definition at line 256 of file heap-page.h.

Constructor & Destructor Documentation

◆ LargePage()

cppgc::internal::LargePage::LargePage ( HeapBase & heap,
BaseSpace & space,
size_t size )
private

Definition at line 241 of file heap-page.cc.

Here is the caller graph for this function:

◆ ~LargePage()

cppgc::internal::LargePage::~LargePage ( )
privatedefault

Member Function Documentation

◆ AllocatedBytesAtLastGC()

size_t cppgc::internal::LargePage::AllocatedBytesAtLastGC ( ) const
inline

Definition at line 297 of file heap-page.h.

Here is the caller graph for this function:

◆ AllocationSize()

size_t cppgc::internal::LargePage::AllocationSize ( size_t size)
static

Definition at line 245 of file heap-page.cc.

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

◆ Destroy()

void cppgc::internal::LargePage::Destroy ( LargePage * page)
static

Definition at line 273 of file heap-page.cc.

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

◆ From() [1/2]

static LargePage * cppgc::internal::LargePage::From ( BasePage * page)
inlinestatic

Definition at line 275 of file heap-page.h.

Here is the caller graph for this function:

◆ From() [2/2]

static const LargePage * cppgc::internal::LargePage::From ( const BasePage * page)
inlinestatic

Definition at line 279 of file heap-page.h.

◆ ObjectHeader() [1/2]

HeapObjectHeader * cppgc::internal::LargePage::ObjectHeader ( )

Definition at line 293 of file heap-page.cc.

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

◆ ObjectHeader() [2/2]

const HeapObjectHeader * cppgc::internal::LargePage::ObjectHeader ( ) const

Definition at line 297 of file heap-page.cc.

Here is the call graph for this function:

◆ ObjectSize()

size_t cppgc::internal::LargePage::ObjectSize ( ) const
inline

Definition at line 292 of file heap-page.h.

Here is the caller graph for this function:

◆ PageHeaderSize()

static constexpr size_t cppgc::internal::LargePage::PageHeaderSize ( )
inlinestaticconstexpr

Definition at line 258 of file heap-page.h.

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

◆ PayloadContains()

bool cppgc::internal::LargePage::PayloadContains ( ConstAddress address) const
inline

Definition at line 299 of file heap-page.h.

◆ PayloadEnd() [1/2]

Address cppgc::internal::LargePage::PayloadEnd ( )

Definition at line 309 of file heap-page.cc.

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

◆ PayloadEnd() [2/2]

ConstAddress cppgc::internal::LargePage::PayloadEnd ( ) const

Definition at line 311 of file heap-page.cc.

Here is the call graph for this function:

◆ PayloadSize()

size_t cppgc::internal::LargePage::PayloadSize ( ) const
inline

Definition at line 291 of file heap-page.h.

Here is the caller graph for this function:

◆ PayloadStart() [1/2]

Address cppgc::internal::LargePage::PayloadStart ( )

Definition at line 301 of file heap-page.cc.

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

◆ PayloadStart() [2/2]

ConstAddress cppgc::internal::LargePage::PayloadStart ( ) const

Definition at line 305 of file heap-page.cc.

Here is the call graph for this function:

◆ TryCreate()

LargePage * cppgc::internal::LargePage::TryCreate ( PageBackend & page_backend,
LargePageSpace & space,
size_t size )
static

Definition at line 250 of file heap-page.cc.

Here is the call graph for this function:

Member Data Documentation

◆ kGuaranteedObjectAlignment

size_t cppgc::internal::LargePage::kGuaranteedObjectAlignment
staticconstexprprivate
Initial value:
=
constexpr size_t kAllocationGranularity
Definition globals.h:37

Definition at line 304 of file heap-page.h.

◆ payload_size_

size_t cppgc::internal::LargePage::payload_size_
private

Definition at line 310 of file heap-page.h.


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