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

#include <paged-spaces.h>

Inheritance diagram for v8::internal::StickySpace:
Collaboration diagram for v8::internal::StickySpace:

Public Member Functions

size_t young_objects_size () const
 
size_t old_objects_size () const
 
void set_old_objects_size (size_t allocated_old_size)
 
void NotifyBlackAreaCreated (size_t size) override
 
void NotifyBlackAreaDestroyed (size_t size) override
 
 OldSpace (Heap *heap)
 
- Public Member Functions inherited from v8::internal::OldSpace
 OldSpace (Heap *heap)
 
void AddPromotedPage (PageMetadata *page, FreeMode free_mode)
 
void ReleasePage (PageMetadata *page) override
 
size_t ExternalBackingStoreBytes (ExternalBackingStoreType type) const final
 
void RelinkQuarantinedPageFreeList (PageMetadata *page, size_t filler_size_on_page)
 
- Public Member Functions inherited from v8::internal::PagedSpace
 PagedSpace (Heap *heap, AllocationSpace id, Executability executable, std::unique_ptr< FreeList > free_list, CompactionSpaceKind compaction_space_kind)
 
AllocatorPolicyCreateAllocatorPolicy (MainAllocator *allocator) final
 
- Public Member Functions inherited from v8::internal::PagedSpaceBase
 PagedSpaceBase (Heap *heap, AllocationSpace id, Executability executable, std::unique_ptr< FreeList > free_list, CompactionSpaceKind compaction_space_kind)
 
 ~PagedSpaceBase () override
 
bool Contains (Address a) const
 
bool Contains (Tagged< Object > o) const
 
bool ContainsSlow (Address addr) const
 
Executability executable () const
 
size_t Capacity () const
 
size_t CommittedPhysicalMemory () const override
 
void IncrementCommittedPhysicalMemory (size_t increment_value)
 
void DecrementCommittedPhysicalMemory (size_t decrement_value)
 
void ClearAllocatorState ()
 
size_t Available () const override
 
size_t Size () const override
 
size_t Waste () const
 
V8_WARN_UNUSED_RESULT std::optional< std::pair< Address, size_t > > RawAllocateBackground (LocalHeap *local_heap, size_t min_size_in_bytes, size_t max_size_in_bytes, AllocationOrigin origin)
 
V8_INLINE size_t Free (Address start, size_t size_in_bytes)
 
V8_INLINE size_t FreeDuringSweep (Address start, size_t size_in_bytes)
 
void ResetFreeList ()
 
void DecreaseAllocatedBytes (size_t bytes, PageMetadata *page)
 
void IncreaseAllocatedBytes (size_t bytes, PageMetadata *page)
 
void DecreaseCapacity (size_t bytes)
 
void IncreaseCapacity (size_t bytes)
 
PageMetadataInitializePage (MutablePageMetadata *chunk) override
 
virtual size_t AddPage (PageMetadata *page)
 
virtual void RemovePage (PageMetadata *page)
 
PageMetadataRemovePageSafe (int size_in_bytes)
 
bool CanExpand (size_t size) const
 
int CountTotalPages () const
 
int AreaSize () const
 
bool is_compaction_space () const
 
CompactionSpaceKind compaction_space_kind () const
 
void MergeCompactionSpace (CompactionSpace *other)
 
virtual void RefillFreeList ()
 
base::Mutexmutex ()
 
void UnlinkFreeListCategories (PageMetadata *page)
 
size_t RelinkFreeListCategories (PageMetadata *page)
 
PageMetadatafirst_page () override
 
const PageMetadatafirst_page () const override
 
PageMetadatalast_page () override
 
const PageMetadatalast_page () const override
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
std::unique_ptr< ObjectIteratorGetObjectIterator (Heap *heap) override
 
void AddRangeToActiveSystemPages (PageMetadata *page, Address start, Address end)
 
void ReduceActiveSystemPages (PageMetadata *page, ActiveSystemPages active_system_pages)
 
bool TryExpand (LocalHeap *local_heap, AllocationOrigin origin)
 
void RefineAllocatedBytesAfterSweeping (PageMetadata *page)
 
template<bool during_sweep>
size_t FreeInternal (Address start, size_t size_in_bytes)
 

Static Public Member Functions

static StickySpaceFrom (OldSpace *space)
 

Private Member Functions

void AdjustDifferenceInAllocatedBytes (size_t) override
 

Private Attributes

size_t allocated_old_size_ = 0
 

Additional Inherited Members

- Public Types inherited from v8::internal::PagedSpaceBase
using iterator = PageIterator
 
using const_iterator = ConstPageIterator
 
- Static Public Attributes inherited from v8::internal::PagedSpaceBase
static const size_t kCompactionMemoryWanted = 500 * KB
 
- Protected Member Functions inherited from v8::internal::PagedSpaceBase
virtual bool snapshotable () const
 
bool HasPages () const
 
void TearDown ()
 
virtual void NotifyNewPage (PageMetadata *page)
 
size_t committed_physical_memory () const
 
void ReleasePageImpl (PageMetadata *page, MemoryAllocator::FreeMode free_mode)
 
void AddPageImpl (PageMetadata *page)
 
- Protected Attributes inherited from v8::internal::PagedSpaceBase
Executability executable_
 
CompactionSpaceKind compaction_space_kind_
 
size_t area_size_
 
AllocationStats accounting_stats_
 
base::Mutex space_mutex_
 
std::atomic< size_tcommitted_physical_memory_ {0}
 
size_t size_at_last_gc_ = 0
 

Detailed Description

Definition at line 470 of file paged-spaces.h.

Member Function Documentation

◆ AdjustDifferenceInAllocatedBytes()

void v8::internal::StickySpace::AdjustDifferenceInAllocatedBytes ( size_t diff)
overrideprivatevirtual

Reimplemented from v8::internal::PagedSpaceBase.

Definition at line 668 of file paged-spaces.cc.

◆ From()

static StickySpace * v8::internal::StickySpace::From ( OldSpace * space)
inlinestatic

Definition at line 474 of file paged-spaces.h.

Here is the caller graph for this function:

◆ NotifyBlackAreaCreated()

void v8::internal::StickySpace::NotifyBlackAreaCreated ( size_t size)
inlineoverride

Definition at line 493 of file paged-spaces.h.

◆ NotifyBlackAreaDestroyed()

void v8::internal::StickySpace::NotifyBlackAreaDestroyed ( size_t size)
inlineoverride

Definition at line 498 of file paged-spaces.h.

◆ old_objects_size()

size_t v8::internal::StickySpace::old_objects_size ( ) const
inline

Definition at line 484 of file paged-spaces.h.

Here is the caller graph for this function:

◆ OldSpace()

v8::internal::OldSpace::OldSpace ( Heap * heap)
inlineexplicit

Definition at line 448 of file paged-spaces.h.

◆ set_old_objects_size()

void v8::internal::StickySpace::set_old_objects_size ( size_t allocated_old_size)
inline

Definition at line 489 of file paged-spaces.h.

◆ young_objects_size()

size_t v8::internal::StickySpace::young_objects_size ( ) const
inline

Definition at line 479 of file paged-spaces.h.

Here is the caller graph for this function:

Member Data Documentation

◆ allocated_old_size_

size_t v8::internal::StickySpace::allocated_old_size_ = 0
private

Definition at line 507 of file paged-spaces.h.


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