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

#include <new-spaces.h>

Inheritance diagram for v8::internal::PagedNewSpace:
Collaboration diagram for v8::internal::PagedNewSpace:

Public Member Functions

 PagedNewSpace (Heap *heap, size_t initial_capacity, size_t min_capacity, size_t max_capacity)
 
 ~PagedNewSpace () final
 
bool ContainsSlow (Address a) const final
 
void Grow (size_t new_capacity) final
 
bool StartShrinking (size_t new_target_capacity)
 
void FinishShrinking ()
 
size_t Size () const final
 
size_t SizeOfObjects () const final
 
size_t Capacity () const final
 
size_t TotalCapacity () const final
 
size_t CommittedMemory () const final
 
size_t MaximumCommittedMemory () const final
 
size_t CommittedPhysicalMemory () const final
 
size_t Available () const final
 
size_t ExternalBackingStoreBytes (ExternalBackingStoreType type) const final
 
size_t AllocatedSinceLastGC () const final
 
size_t MinimumCapacity () const final
 
size_t MaximumCapacity () const final
 
Address first_allocatable_address () const final
 
PageMetadatafirst_page () final
 
PageMetadatalast_page () final
 
const PageMetadatafirst_page () const final
 
const PageMetadatalast_page () const final
 
iterator begin () final
 
iterator end () final
 
const_iterator begin () const final
 
const_iterator end () const final
 
std::unique_ptr< ObjectIteratorGetObjectIterator (Heap *heap) final
 
void GarbageCollectionEpilogue () final
 
bool IsPromotionCandidate (const MutablePageMetadata *page) const final
 
void GrowToMaximumCapacityForTesting () final
 
PagedSpaceForNewSpacepaged_space ()
 
const PagedSpaceForNewSpacepaged_space () const
 
void MakeIterable () override
 
heap::List< MutablePageMetadata > & memory_chunk_list () final
 
bool ShouldReleaseEmptyPage ()
 
void ReleasePage (PageMetadata *page)
 
AllocatorPolicyCreateAllocatorPolicy (MainAllocator *allocator) final
 
- Public Member Functions inherited from v8::internal::NewSpace
 NewSpace (Heap *heap)
 
base::Mutexmutex ()
 
bool Contains (Tagged< Object > o) const
 
bool Contains (Tagged< HeapObject > o) const
 
size_t ExternalBackingStoreOverallBytes () const
 
void PromotePageToOldSpace (PageMetadata *page, FreeMode free_mode)
 
virtual void GarbageCollectionPrologue ()
 

Static Public Member Functions

static PagedNewSpaceFrom (NewSpace *space)
 

Private Member Functions

void RemovePage (PageMetadata *page) final
 

Private Attributes

PagedSpaceForNewSpace paged_space_
 

Additional Inherited Members

- Public Types inherited from v8::internal::NewSpace
using iterator = PageIterator
 
using const_iterator = ConstPageIterator
 
- Protected Member Functions inherited from v8::internal::NewSpace
- Protected Attributes inherited from v8::internal::NewSpace
base::Mutex mutex_
 
- Static Protected Attributes inherited from v8::internal::NewSpace
static const int kAllocationBufferParkingThreshold = 4 * KB
 

Detailed Description

Definition at line 596 of file new-spaces.h.

Constructor & Destructor Documentation

◆ PagedNewSpace()

v8::internal::PagedNewSpace::PagedNewSpace ( Heap * heap,
size_t initial_capacity,
size_t min_capacity,
size_t max_capacity )

Definition at line 976 of file new-spaces.cc.

◆ ~PagedNewSpace()

v8::internal::PagedNewSpace::~PagedNewSpace ( )
final

Definition at line 981 of file new-spaces.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AllocatedSinceLastGC()

size_t v8::internal::PagedNewSpace::AllocatedSinceLastGC ( ) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 654 of file new-spaces.h.

◆ Available()

size_t v8::internal::PagedNewSpace::Available ( ) const
inlinefinal

Definition at line 648 of file new-spaces.h.

◆ begin() [1/2]

const_iterator v8::internal::PagedNewSpace::begin ( ) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 699 of file new-spaces.h.

◆ begin() [2/2]

iterator v8::internal::PagedNewSpace::begin ( )
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 696 of file new-spaces.h.

◆ Capacity()

size_t v8::internal::PagedNewSpace::Capacity ( ) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 627 of file new-spaces.h.

◆ CommittedMemory()

size_t v8::internal::PagedNewSpace::CommittedMemory ( ) const
inlinefinal

Definition at line 634 of file new-spaces.h.

◆ CommittedPhysicalMemory()

size_t v8::internal::PagedNewSpace::CommittedPhysicalMemory ( ) const
inlinefinal

Definition at line 643 of file new-spaces.h.

◆ ContainsSlow()

bool v8::internal::PagedNewSpace::ContainsSlow ( Address a) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 608 of file new-spaces.h.

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

◆ CreateAllocatorPolicy()

AllocatorPolicy * v8::internal::PagedNewSpace::CreateAllocatorPolicy ( MainAllocator * allocator)
final

Definition at line 985 of file new-spaces.cc.

◆ end() [1/2]

const_iterator v8::internal::PagedNewSpace::end ( ) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 700 of file new-spaces.h.

◆ end() [2/2]

iterator v8::internal::PagedNewSpace::end ( )
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 697 of file new-spaces.h.

◆ ExternalBackingStoreBytes()

size_t v8::internal::PagedNewSpace::ExternalBackingStoreBytes ( ExternalBackingStoreType type) const
inlinefinal

Definition at line 650 of file new-spaces.h.

◆ FinishShrinking()

void v8::internal::PagedNewSpace::FinishShrinking ( )
inline

Definition at line 619 of file new-spaces.h.

Here is the caller graph for this function:

◆ first_allocatable_address()

Address v8::internal::PagedNewSpace::first_allocatable_address ( ) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 670 of file new-spaces.h.

◆ first_page() [1/2]

const PageMetadata * v8::internal::PagedNewSpace::first_page ( ) const
inlinefinal

Definition at line 689 of file new-spaces.h.

◆ first_page() [2/2]

PageMetadata * v8::internal::PagedNewSpace::first_page ( )
inlinefinal

Definition at line 686 of file new-spaces.h.

◆ From()

static PagedNewSpace * v8::internal::PagedNewSpace::From ( NewSpace * space)
inlinestatic

Definition at line 598 of file new-spaces.h.

Here is the caller graph for this function:

◆ GarbageCollectionEpilogue()

void v8::internal::PagedNewSpace::GarbageCollectionEpilogue ( )
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 706 of file new-spaces.h.

◆ GetObjectIterator()

std::unique_ptr< ObjectIterator > v8::internal::PagedNewSpace::GetObjectIterator ( Heap * heap)
inlinefinal

Definition at line 702 of file new-spaces.h.

◆ Grow()

void v8::internal::PagedNewSpace::Grow ( size_t new_capacity)
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 613 of file new-spaces.h.

◆ GrowToMaximumCapacityForTesting()

void v8::internal::PagedNewSpace::GrowToMaximumCapacityForTesting ( )
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 714 of file new-spaces.h.

◆ IsPromotionCandidate()

bool v8::internal::PagedNewSpace::IsPromotionCandidate ( const MutablePageMetadata * page) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 710 of file new-spaces.h.

◆ last_page() [1/2]

const PageMetadata * v8::internal::PagedNewSpace::last_page ( ) const
inlinefinal

Definition at line 692 of file new-spaces.h.

◆ last_page() [2/2]

PageMetadata * v8::internal::PagedNewSpace::last_page ( )
inlinefinal

Definition at line 687 of file new-spaces.h.

◆ MakeIterable()

void v8::internal::PagedNewSpace::MakeIterable ( )
inlineoverridevirtual

Implements v8::internal::NewSpace.

Definition at line 721 of file new-spaces.h.

◆ MaximumCapacity()

size_t v8::internal::PagedNewSpace::MaximumCapacity ( ) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 664 of file new-spaces.h.

◆ MaximumCommittedMemory()

size_t v8::internal::PagedNewSpace::MaximumCommittedMemory ( ) const
inlinefinal

Definition at line 638 of file new-spaces.h.

◆ memory_chunk_list()

heap::List< MutablePageMetadata > & v8::internal::PagedNewSpace::memory_chunk_list ( )
inlinefinal

Definition at line 724 of file new-spaces.h.

◆ MinimumCapacity()

size_t v8::internal::PagedNewSpace::MinimumCapacity ( ) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 659 of file new-spaces.h.

◆ paged_space() [1/2]

PagedSpaceForNewSpace * v8::internal::PagedNewSpace::paged_space ( )
inline

Definition at line 718 of file new-spaces.h.

Here is the caller graph for this function:

◆ paged_space() [2/2]

const PagedSpaceForNewSpace * v8::internal::PagedNewSpace::paged_space ( ) const
inline

Definition at line 719 of file new-spaces.h.

◆ ReleasePage()

void v8::internal::PagedNewSpace::ReleasePage ( PageMetadata * page)
inline

Definition at line 729 of file new-spaces.h.

◆ RemovePage()

void v8::internal::PagedNewSpace::RemovePage ( PageMetadata * page)
inlinefinalprivatevirtual

Implements v8::internal::NewSpace.

Definition at line 734 of file new-spaces.h.

◆ ShouldReleaseEmptyPage()

bool v8::internal::PagedNewSpace::ShouldReleaseEmptyPage ( )
inline

Definition at line 726 of file new-spaces.h.

◆ Size()

size_t v8::internal::PagedNewSpace::Size ( ) const
inlinefinal

Definition at line 622 of file new-spaces.h.

◆ SizeOfObjects()

size_t v8::internal::PagedNewSpace::SizeOfObjects ( ) const
inlinefinal

Definition at line 624 of file new-spaces.h.

◆ StartShrinking()

bool v8::internal::PagedNewSpace::StartShrinking ( size_t new_target_capacity)
inline

Definition at line 616 of file new-spaces.h.

Here is the caller graph for this function:

◆ TotalCapacity()

size_t v8::internal::PagedNewSpace::TotalCapacity ( ) const
inlinefinalvirtual

Implements v8::internal::NewSpace.

Definition at line 631 of file new-spaces.h.

Member Data Documentation

◆ paged_space_

PagedSpaceForNewSpace v8::internal::PagedNewSpace::paged_space_
private

Definition at line 736 of file new-spaces.h.


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