V8 Project
v8::internal::IncrementalMarkingRootMarkingVisitor Class Reference
+ Inheritance diagram for v8::internal::IncrementalMarkingRootMarkingVisitor:
+ Collaboration diagram for v8::internal::IncrementalMarkingRootMarkingVisitor:

Public Member Functions

 IncrementalMarkingRootMarkingVisitor (IncrementalMarking *incremental_marking)
 
void VisitPointer (Object **p)
 
void VisitPointers (Object **start, Object **end)
 

Private Member Functions

void MarkObjectByPointer (Object **p)
 

Private Attributes

IncrementalMarkingincremental_marking_
 

Detailed Description

Definition at line 279 of file incremental-marking.cc.

Constructor & Destructor Documentation

◆ IncrementalMarkingRootMarkingVisitor()

v8::internal::IncrementalMarkingRootMarkingVisitor::IncrementalMarkingRootMarkingVisitor ( IncrementalMarking incremental_marking)
inlineexplicit

Definition at line 281 of file incremental-marking.cc.

283  : incremental_marking_(incremental_marking) {}

Member Function Documentation

◆ MarkObjectByPointer()

void v8::internal::IncrementalMarkingRootMarkingVisitor::MarkObjectByPointer ( Object **  p)
inlineprivate

Definition at line 292 of file incremental-marking.cc.

292  {
293  Object* obj = *p;
294  if (!obj->IsHeapObject()) return;
295 
296  HeapObject* heap_object = HeapObject::cast(obj);
297  MarkBit mark_bit = Marking::MarkBitFrom(heap_object);
298  if (mark_bit.data_only()) {
299  MarkBlackOrKeepGrey(heap_object, mark_bit, heap_object->Size());
300  } else {
301  if (Marking::IsWhite(mark_bit)) {
302  incremental_marking_->WhiteToGreyAndPush(heap_object, mark_bit);
303  }
304  }
305  }
void WhiteToGreyAndPush(HeapObject *obj, MarkBit mark_bit)
static void MarkBlackOrKeepGrey(HeapObject *heap_object, MarkBit mark_bit, int size)
kSerializedDataOffset Object
Definition: objects-inl.h:5322

References v8::internal::MarkBit::data_only(), incremental_marking_, v8::internal::MarkBlackOrKeepGrey(), v8::internal::HeapObject::Size(), and v8::internal::IncrementalMarking::WhiteToGreyAndPush().

Referenced by VisitPointer(), and VisitPointers().

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

◆ VisitPointer()

void v8::internal::IncrementalMarkingRootMarkingVisitor::VisitPointer ( Object **  p)
inline

Definition at line 285 of file incremental-marking.cc.

References MarkObjectByPointer().

+ Here is the call graph for this function:

◆ VisitPointers()

void v8::internal::IncrementalMarkingRootMarkingVisitor::VisitPointers ( Object **  start,
Object **  end 
)
inline

Definition at line 287 of file incremental-marking.cc.

287  {
288  for (Object** p = start; p < end; p++) MarkObjectByPointer(p);
289  }

References MarkObjectByPointer().

+ Here is the call graph for this function:

Member Data Documentation

◆ incremental_marking_

IncrementalMarking* v8::internal::IncrementalMarkingRootMarkingVisitor::incremental_marking_
private

Definition at line 307 of file incremental-marking.cc.

Referenced by MarkObjectByPointer().


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