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

Public Member Functions

void AddObserver (MigrationObserver *observer)
 
- Public Member Functions inherited from v8::internal::HeapObjectVisitor
virtual ~HeapObjectVisitor ()=default
 
virtual bool Visit (Tagged< HeapObject > object, int size)=0
 

Protected Types

enum  MigrationMode { kFast , kObserved }
 
using MigrateFunction
 

Protected Member Functions

PtrComprCageBase cage_base ()
 
 EvacuateVisitorBase (Heap *heap, EvacuationAllocator *local_allocator, RecordMigratedSlotVisitor *record_visitor)
 
bool TryEvacuateObject (AllocationSpace target_space, Tagged< HeapObject > object, int size, Tagged< HeapObject > *target_object)
 
bool ShouldPromoteIntoSharedHeap (Tagged< Map > map)
 
void ExecuteMigrationObservers (AllocationSpace dest, Tagged< HeapObject > src, Tagged< HeapObject > dst, int size)
 
void MigrateObject (Tagged< HeapObject > dst, Tagged< HeapObject > src, int size, AllocationSpace dest)
 

Static Protected Member Functions

template<MigrationMode mode>
static void RawMigrateObject (EvacuateVisitorBase *base, Tagged< HeapObject > dst, Tagged< HeapObject > src, int size, AllocationSpace dest)
 

Protected Attributes

Heapheap_
 
EvacuationAllocatorlocal_allocator_
 
RecordMigratedSlotVisitorrecord_visitor_
 
std::vector< MigrationObserver * > observers_
 
MigrateFunction migration_function_
 
const bool shared_string_table_
 
std::optional< base::RandomNumberGeneratorrng_
 

Detailed Description

Definition at line 1442 of file mark-compact.cc.

Member Typedef Documentation

◆ MigrateFunction

Initial value:
EvacuateVisitorBase(Heap *heap, EvacuationAllocator *local_allocator, RecordMigratedSlotVisitor *record_visitor)
kInterpreterTrampolineOffset Tagged< HeapObject >

Definition at line 1484 of file mark-compact.cc.

Member Enumeration Documentation

◆ MigrationMode

Enumerator
kFast 
kObserved 

Definition at line 1474 of file mark-compact.cc.

Constructor & Destructor Documentation

◆ EvacuateVisitorBase()

v8::internal::EvacuateVisitorBase::EvacuateVisitorBase ( Heap * heap,
EvacuationAllocator * local_allocator,
RecordMigratedSlotVisitor * record_visitor )
inlineprotected

Definition at line 1571 of file mark-compact.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddObserver()

void v8::internal::EvacuateVisitorBase::AddObserver ( MigrationObserver * observer)
inline

Definition at line 1444 of file mark-compact.cc.

Here is the call graph for this function:

◆ cage_base()

PtrComprCageBase v8::internal::EvacuateVisitorBase::cage_base ( )
inlineprotected

Definition at line 1476 of file mark-compact.cc.

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

◆ ExecuteMigrationObservers()

void v8::internal::EvacuateVisitorBase::ExecuteMigrationObservers ( AllocationSpace dest,
Tagged< HeapObject > src,
Tagged< HeapObject > dst,
int size )
inlineprotected

Definition at line 1621 of file mark-compact.cc.

◆ MigrateObject()

void v8::internal::EvacuateVisitorBase::MigrateObject ( Tagged< HeapObject > dst,
Tagged< HeapObject > src,
int size,
AllocationSpace dest )
inlineprotected

Definition at line 1629 of file mark-compact.cc.

Here is the caller graph for this function:

◆ RawMigrateObject()

template<MigrationMode mode>
static void v8::internal::EvacuateVisitorBase::RawMigrateObject ( EvacuateVisitorBase * base,
Tagged< HeapObject > dst,
Tagged< HeapObject > src,
int size,
AllocationSpace dest )
inlinestaticprotected

Definition at line 1490 of file mark-compact.cc.

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

◆ ShouldPromoteIntoSharedHeap()

bool v8::internal::EvacuateVisitorBase::ShouldPromoteIntoSharedHeap ( Tagged< Map > map)
inlineprotected

Definition at line 1613 of file mark-compact.cc.

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

◆ TryEvacuateObject()

bool v8::internal::EvacuateVisitorBase::TryEvacuateObject ( AllocationSpace target_space,
Tagged< HeapObject > object,
int size,
Tagged< HeapObject > * target_object )
inlineprotected

Definition at line 1584 of file mark-compact.cc.

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

Member Data Documentation

◆ heap_

Heap* v8::internal::EvacuateVisitorBase::heap_
protected

Definition at line 1634 of file mark-compact.cc.

◆ local_allocator_

EvacuationAllocator* v8::internal::EvacuateVisitorBase::local_allocator_
protected

Definition at line 1635 of file mark-compact.cc.

◆ migration_function_

MigrateFunction v8::internal::EvacuateVisitorBase::migration_function_
protected

Definition at line 1638 of file mark-compact.cc.

◆ observers_

std::vector<MigrationObserver*> v8::internal::EvacuateVisitorBase::observers_
protected

Definition at line 1637 of file mark-compact.cc.

◆ record_visitor_

RecordMigratedSlotVisitor* v8::internal::EvacuateVisitorBase::record_visitor_
protected

Definition at line 1636 of file mark-compact.cc.

◆ rng_

std::optional<base::RandomNumberGenerator> v8::internal::EvacuateVisitorBase::rng_
protected

Definition at line 1643 of file mark-compact.cc.

◆ shared_string_table_

const bool v8::internal::EvacuateVisitorBase::shared_string_table_
protected

Definition at line 1639 of file mark-compact.cc.


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