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

#include <new-spaces.h>

Inheritance diagram for v8::internal::NewSpace:
Collaboration diagram for v8::internal::NewSpace:

Public Types

using iterator = PageIterator
 
using const_iterator = ConstPageIterator
 

Public Member Functions

 NewSpace (Heap *heap)
 
base::Mutexmutex ()
 
bool Contains (Tagged< Object > o) const
 
bool Contains (Tagged< HeapObject > o) const
 
virtual bool ContainsSlow (Address a) const =0
 
size_t ExternalBackingStoreOverallBytes () const
 
void PromotePageToOldSpace (PageMetadata *page, FreeMode free_mode)
 
virtual size_t Capacity () const =0
 
virtual size_t TotalCapacity () const =0
 
virtual size_t MinimumCapacity () const =0
 
virtual size_t MaximumCapacity () const =0
 
virtual size_t AllocatedSinceLastGC () const =0
 
virtual void Grow (size_t new_capacity)=0
 
virtual void MakeIterable ()=0
 
virtual iterator begin ()=0
 
virtual iterator end ()=0
 
virtual const_iterator begin () const =0
 
virtual const_iterator end () const =0
 
virtual Address first_allocatable_address () const =0
 
virtual void GarbageCollectionPrologue ()
 
virtual void GarbageCollectionEpilogue ()=0
 
virtual bool IsPromotionCandidate (const MutablePageMetadata *page) const =0
 
virtual void GrowToMaximumCapacityForTesting ()=0
 

Protected Member Functions

virtual void RemovePage (PageMetadata *page)=0
 

Protected Attributes

base::Mutex mutex_
 

Static Protected Attributes

static const int kAllocationBufferParkingThreshold = 4 * KB
 

Detailed Description

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

Member Typedef Documentation

◆ const_iterator

◆ iterator

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

Constructor & Destructor Documentation

◆ NewSpace()

v8::internal::NewSpace::NewSpace ( Heap * heap)
explicit

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

Member Function Documentation

◆ AllocatedSinceLastGC()

virtual size_t v8::internal::NewSpace::AllocatedSinceLastGC ( ) const
pure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

◆ begin() [1/2]

virtual const_iterator v8::internal::NewSpace::begin ( ) const
pure virtual

◆ begin() [2/2]

virtual iterator v8::internal::NewSpace::begin ( )
pure virtual

◆ Capacity()

virtual size_t v8::internal::NewSpace::Capacity ( ) const
pure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

◆ Contains() [1/2]

bool v8::internal::NewSpace::Contains ( Tagged< HeapObject > o) const
inline

Definition at line 57 of file new-spaces-inl.h.

Here is the call graph for this function:

◆ Contains() [2/2]

bool v8::internal::NewSpace::Contains ( Tagged< Object > o) const
inline

Definition at line 53 of file new-spaces-inl.h.

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

◆ ContainsSlow()

virtual bool v8::internal::NewSpace::ContainsSlow ( Address a) const
pure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

◆ end() [1/2]

virtual const_iterator v8::internal::NewSpace::end ( ) const
pure virtual

◆ end() [2/2]

virtual iterator v8::internal::NewSpace::end ( )
pure virtual

◆ ExternalBackingStoreOverallBytes()

size_t v8::internal::NewSpace::ExternalBackingStoreOverallBytes ( ) const
inline

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

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

◆ first_allocatable_address()

virtual Address v8::internal::NewSpace::first_allocatable_address ( ) const
pure virtual

◆ GarbageCollectionEpilogue()

virtual void v8::internal::NewSpace::GarbageCollectionEpilogue ( )
pure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

◆ GarbageCollectionPrologue()

virtual void v8::internal::NewSpace::GarbageCollectionPrologue ( )
inlinevirtual

Reimplemented in v8::internal::SemiSpaceNewSpace.

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

◆ Grow()

virtual void v8::internal::NewSpace::Grow ( size_t new_capacity)
pure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

◆ GrowToMaximumCapacityForTesting()

virtual void v8::internal::NewSpace::GrowToMaximumCapacityForTesting ( )
pure virtual

◆ IsPromotionCandidate()

virtual bool v8::internal::NewSpace::IsPromotionCandidate ( const MutablePageMetadata * page) const
pure virtual

◆ MakeIterable()

virtual void v8::internal::NewSpace::MakeIterable ( )
pure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

◆ MaximumCapacity()

virtual size_t v8::internal::NewSpace::MaximumCapacity ( ) const
pure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

◆ MinimumCapacity()

virtual size_t v8::internal::NewSpace::MinimumCapacity ( ) const
pure virtual

◆ mutex()

base::Mutex * v8::internal::NewSpace::mutex ( )
inline

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

Here is the caller graph for this function:

◆ PromotePageToOldSpace()

void v8::internal::NewSpace::PromotePageToOldSpace ( PageMetadata * page,
FreeMode free_mode )

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

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

◆ RemovePage()

virtual void v8::internal::NewSpace::RemovePage ( PageMetadata * page)
protectedpure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

◆ TotalCapacity()

virtual size_t v8::internal::NewSpace::TotalCapacity ( ) const
pure virtual

Implemented in v8::internal::PagedNewSpace, and v8::internal::SemiSpaceNewSpace.

Here is the caller graph for this function:

Member Data Documentation

◆ kAllocationBufferParkingThreshold

const int v8::internal::NewSpace::kAllocationBufferParkingThreshold = 4 * KB
staticprotected

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

◆ mutex_

base::Mutex v8::internal::NewSpace::mutex_
protected

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


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