5#ifndef RUNTIME_VM_HEAP_MARKER_H_
6#define RUNTIME_VM_HEAP_MARKER_H_
19class ObjectPointerVisitor;
22class MarkingVisitorBase;
61 void IterateWeakRoots(
Thread* thread);
62 void ProcessWeakHandles(
Thread* thread);
63 void ProcessWeakTables(
Thread* thread);
64 void ProcessRememberedSet(
Thread* thread);
65 void ProcessObjectIdTable(
Thread* thread);
68 template <
class MarkingVisitorType>
69 void FinalizeResultsFrom(MarkingVisitorType* visitor);
81 intptr_t root_slices_finished_;
82 intptr_t root_slices_count_;
85 uintptr_t marked_bytes_;
86 int64_t marked_micros_;
void IncrementalMarkWithSizeBudget(PageSpace *page_space, intptr_t size)
intptr_t MarkedWordsPerMicro() const
void IncrementalMarkWithTimeBudget(PageSpace *page_space, int64_t deadline)
void PruneWeak(Scavenger *scavenger)
void StartConcurrentMark(PageSpace *page_space)
intptr_t marked_words() const
void MarkObjects(PageSpace *page_space)
void IncrementalMarkWithUnlimitedBudget(PageSpace *page_space)
constexpr intptr_t kWordSizeLog2