V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::MarkCompactCollector Class Referencefinal
Inheritance diagram for v8::internal::MarkCompactCollector:
v8::internal::MarkCompactCollectorBase

Classes

class  CustomRootBodyMarkingVisitor
 
class  MarkingWorklist
 
class  RootMarkingVisitor
 

Public Types

enum  IterationMode { kKeepMarking, kClearMarkbits }
 
using MarkingState = MajorNonAtomicMarkingState
 
using NonAtomicMarkingState = MajorNonAtomicMarkingState
 

Public Member Functions

MarkingStatemarking_state ()
 
NonAtomicMarkingStatenon_atomic_marking_state ()
 
void SetUp () override
 
void TearDown () override
 
void CollectGarbage () override
 
void CollectEvacuationCandidates (PagedSpace *space)
 
void AddEvacuationCandidate (Page *p)
 
void Prepare ()
 
void FinishConcurrentMarking (ConcurrentMarking::StopRequest stop_request)
 
bool StartCompaction ()
 
void AbortCompaction ()
 
void RecordRelocSlot (Code host, RelocInfo *rinfo, Object *target)
 
void RecordLiveSlotsOnPage (Page *page)
 
void UpdateSlots (SlotsBuffer *buffer)
 
void UpdateSlotsRecordedIn (SlotsBuffer *buffer)
 
bool is_compacting () const
 
void EnsureSweepingCompleted ()
 
bool sweeping_in_progress () const
 
void set_evacuation (bool evacuation)
 
bool evacuation () const
 
MarkingWorklistmarking_worklist ()
 
WeakObjectsweak_objects ()
 
void AddTransitionArray (TransitionArray *array)
 
void AddEphemeronHashTable (EphemeronHashTable table)
 
void AddEphemeron (HeapObject *key, HeapObject *value)
 
void AddWeakReference (HeapObject *host, HeapObjectSlot slot)
 
void AddWeakObjectInCode (HeapObject *object, Code code)
 
void AddWeakCell (JSWeakCell *weak_cell)
 
void AddNewlyDiscovered (HeapObject *object)
 
void ResetNewlyDiscovered ()
 
Sweepersweeper ()
 
void VerifyMarking ()
 
- Public Member Functions inherited from v8::internal::MarkCompactCollectorBase
Heapheap () const
 
Isolateisolate ()
 

Static Public Member Functions

static bool IsOnEvacuationCandidate (Object *obj)
 
static bool IsOnEvacuationCandidate (MaybeObject obj)
 
static V8_INLINE void RecordSlot (HeapObject *object, ObjectSlot slot, HeapObject *target)
 
static V8_INLINE void RecordSlot (HeapObject *object, HeapObjectSlot slot, HeapObject *target)
 

Friends

class EphemeronHashTableMarkingTask
 
class FullEvacuator
 
class Heap
 
class RecordMigratedSlotVisitor
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::MarkCompactCollectorBase
static const int kMainThread = 0
 
- Protected Member Functions inherited from v8::internal::MarkCompactCollectorBase
 MarkCompactCollectorBase (Heap *heap)
 
template<class Evacuator , class Collector >
void CreateAndExecuteEvacuationTasks (Collector *collector, ItemParallelJob *job, RecordMigratedSlotVisitor *record_visitor, MigrationObserver *migration_observer, const intptr_t live_bytes)
 
bool ShouldMovePage (Page *p, intptr_t live_bytes)
 
int CollectToSpaceUpdatingItems (ItemParallelJob *job)
 
template<typename IterateableSpace >
int CollectRememberedSetUpdatingItems (ItemParallelJob *job, IterateableSpace *space, RememberedSetUpdatingMode mode)
 
int NumberOfParallelCompactionTasks (int pages)
 
int NumberOfParallelPointerUpdateTasks (int pages, int slots)
 
int NumberOfParallelToSpacePointerUpdateTasks (int pages)
 
- Protected Attributes inherited from v8::internal::MarkCompactCollectorBase
Heapheap_
 
int old_to_new_slots_
 

Detailed Description

Definition at line 457 of file mark-compact.h.


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