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

#include <page-metadata.h>

Inheritance diagram for v8::internal::PageMetadata:
Collaboration diagram for v8::internal::PageMetadata:

Public Member Functions

 PageMetadata (Heap *heap, BaseSpace *space, size_t size, Address area_start, Address area_end, VirtualMemory reservation)
 
V8_EXPORT_PRIVATE void MarkNeverAllocateForTesting ()
 
void MarkEvacuationCandidate ()
 
void ClearEvacuationCandidate ()
 
PageMetadatanext_page ()
 
PageMetadataprev_page ()
 
const PageMetadatanext_page () const
 
const PageMetadataprev_page () const
 
template<typename Callback >
void ForAllFreeListCategories (Callback callback)
 
V8_EXPORT_PRIVATE size_t AvailableInFreeList ()
 
size_t AvailableInFreeListFromAllocatedBytes ()
 
FreeListCategoryfree_list_category (FreeListCategoryType type)
 
V8_EXPORT_PRIVATE void CreateBlackArea (Address start, Address end)
 
void DestroyBlackArea (Address start, Address end)
 
void InitializeFreeListCategories ()
 
void AllocateFreeListCategories ()
 
void ReleaseFreeListCategories ()
 
ActiveSystemPagesactive_system_pages ()
 
template<RememberedSetType remembered_set>
void ClearTypedSlotsInFreeMemory (const TypedSlotSet::FreeRangesMap &ranges)
 
template<RememberedSetType remembered_set>
void AssertNoTypedSlotsInFreeMemory (const TypedSlotSet::FreeRangesMap &ranges)
 

Static Public Member Functions

static V8_INLINE PageMetadataFromAddress (Address addr)
 
static V8_INLINE PageMetadataFromHeapObject (Tagged< HeapObject > o)
 
static PageMetadatacast (MemoryChunkMetadata *metadata)
 
static PageMetadatacast (MutablePageMetadata *metadata)
 
static V8_INLINE PageMetadataFromAllocationAreaAddress (Address address)
 
static bool OnSamePage (Address address1, Address address2)
 
static bool IsAlignedToPageSize (Address addr)
 
static PageMetadataConvertNewToOld (PageMetadata *old_page, FreeMode free_mode)
 

Friends

class MemoryAllocator
 

Additional Inherited Members

Detailed Description

Definition at line 24 of file page-metadata.h.

Constructor & Destructor Documentation

◆ PageMetadata()

v8::internal::PageMetadata::PageMetadata ( Heap * heap,
BaseSpace * space,
size_t size,
Address area_start,
Address area_end,
VirtualMemory reservation )

Definition at line 14 of file page-metadata.cc.

Here is the call graph for this function:

Member Function Documentation

◆ active_system_pages()

ActiveSystemPages * v8::internal::PageMetadata::active_system_pages ( )
inline

Definition at line 103 of file page-metadata.h.

◆ AllocateFreeListCategories()

void v8::internal::PageMetadata::AllocateFreeListCategories ( )

Definition at line 22 of file page-metadata.cc.

Here is the call graph for this function:

◆ AssertNoTypedSlotsInFreeMemory()

template<RememberedSetType remembered_set>
void v8::internal::PageMetadata::AssertNoTypedSlotsInFreeMemory ( const TypedSlotSet::FreeRangesMap & ranges)
inline

Definition at line 116 of file page-metadata.h.

Here is the call graph for this function:

◆ AvailableInFreeList()

size_t v8::internal::PageMetadata::AvailableInFreeList ( )

Definition at line 71 of file page-metadata.cc.

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

◆ AvailableInFreeListFromAllocatedBytes()

size_t v8::internal::PageMetadata::AvailableInFreeListFromAllocatedBytes ( )
inline

Definition at line 87 of file page-metadata.h.

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

◆ cast() [1/2]

static PageMetadata * v8::internal::PageMetadata::cast ( MemoryChunkMetadata * metadata)
inlinestatic

Definition at line 35 of file page-metadata.h.

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

◆ cast() [2/2]

static PageMetadata * v8::internal::PageMetadata::cast ( MutablePageMetadata * metadata)
inlinestatic

Definition at line 39 of file page-metadata.h.

Here is the call graph for this function:

◆ ClearEvacuationCandidate()

void v8::internal::PageMetadata::ClearEvacuationCandidate ( )
inline

Definition at line 50 of file page-metadata-inl.h.

Here is the call graph for this function:

◆ ClearTypedSlotsInFreeMemory()

template<RememberedSetType remembered_set>
void v8::internal::PageMetadata::ClearTypedSlotsInFreeMemory ( const TypedSlotSet::FreeRangesMap & ranges)
inline

Definition at line 108 of file page-metadata.h.

Here is the call graph for this function:

◆ ConvertNewToOld()

PageMetadata * v8::internal::PageMetadata::ConvertNewToOld ( PageMetadata * old_page,
FreeMode free_mode )
static

Definition at line 54 of file page-metadata.cc.

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

◆ CreateBlackArea()

void v8::internal::PageMetadata::CreateBlackArea ( Address start,
Address end )

Definition at line 87 of file page-metadata.cc.

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

◆ DestroyBlackArea()

void v8::internal::PageMetadata::DestroyBlackArea ( Address start,
Address end )

Definition at line 102 of file page-metadata.cc.

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

◆ ForAllFreeListCategories()

template<typename Callback >
void v8::internal::PageMetadata::ForAllFreeListCategories ( Callback callback)
inline

Definition at line 35 of file page-metadata-inl.h.

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

◆ free_list_category()

FreeListCategory * v8::internal::PageMetadata::free_list_category ( FreeListCategoryType type)
inline

Definition at line 92 of file page-metadata.h.

◆ FromAddress()

PageMetadata * v8::internal::PageMetadata::FromAddress ( Address addr)
static

Definition at line 19 of file page-metadata-inl.h.

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

◆ FromAllocationAreaAddress()

PageMetadata * v8::internal::PageMetadata::FromAllocationAreaAddress ( Address address)
static

Definition at line 30 of file page-metadata-inl.h.

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

◆ FromHeapObject()

PageMetadata * v8::internal::PageMetadata::FromHeapObject ( Tagged< HeapObject > o)
static

Definition at line 25 of file page-metadata-inl.h.

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

◆ InitializeFreeListCategories()

void v8::internal::PageMetadata::InitializeFreeListCategories ( )

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

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

◆ IsAlignedToPageSize()

static bool v8::internal::PageMetadata::IsAlignedToPageSize ( Address addr)
inlinestatic

Definition at line 57 of file page-metadata.h.

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

◆ MarkEvacuationCandidate()

void v8::internal::PageMetadata::MarkEvacuationCandidate ( )
inline

Definition at line 42 of file page-metadata-inl.h.

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

◆ MarkNeverAllocateForTesting()

void v8::internal::PageMetadata::MarkNeverAllocateForTesting ( )

Definition at line 78 of file page-metadata.cc.

Here is the call graph for this function:

◆ next_page() [1/2]

PageMetadata * v8::internal::PageMetadata::next_page ( )
inline

Definition at line 68 of file page-metadata.h.

Here is the caller graph for this function:

◆ next_page() [2/2]

const PageMetadata * v8::internal::PageMetadata::next_page ( ) const
inline

Definition at line 75 of file page-metadata.h.

◆ OnSamePage()

static bool v8::internal::PageMetadata::OnSamePage ( Address address1,
Address address2 )
inlinestatic

Definition at line 51 of file page-metadata.h.

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

◆ prev_page() [1/2]

PageMetadata * v8::internal::PageMetadata::prev_page ( )
inline

Definition at line 71 of file page-metadata.h.

Here is the caller graph for this function:

◆ prev_page() [2/2]

const PageMetadata * v8::internal::PageMetadata::prev_page ( ) const
inline

Definition at line 78 of file page-metadata.h.

◆ ReleaseFreeListCategories()

void v8::internal::PageMetadata::ReleaseFreeListCategories ( )

Definition at line 40 of file page-metadata.cc.

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

Friends And Related Symbol Documentation

◆ MemoryAllocator

friend class MemoryAllocator
friend

Definition at line 127 of file page-metadata.h.


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