Lines Matching refs:heap

5 #include "src/heap/incremental-marking-job.h"
11 #include "src/heap/embedder-tracing.h"
12 #include "src/heap/gc-tracer.h"
13 #include "src/heap/heap-inl.h"
14 #include "src/heap/heap.h"
15 #include "src/heap/incremental-marking.h"
23 static StepResult Step(Heap* heap);
45 void IncrementalMarkingJob::Start(Heap* heap) {
46 DCHECK(!heap->incremental_marking()->IsStopped());
47 ScheduleTask(heap);
50 void IncrementalMarkingJob::ScheduleTask(Heap* heap, TaskType task_type) {
53 if (!IsTaskPending(task_type) && !heap->IsTearingDown() &&
55 v8::Isolate* isolate = reinterpret_cast<v8::Isolate*>(heap->isolate());
65 std::make_unique<Task>(heap->isolate(), this, stack_state, task_type);
67 scheduled_time_ = heap->MonotonicallyIncreasingTimeInMs();
84 StepResult IncrementalMarkingJob::Task::Step(Heap* heap) {
87 heap->MonotonicallyIncreasingTimeInMs() + kIncrementalMarkingDelayMs;
88 StepResult result = heap->incremental_marking()->AdvanceWithDeadline(
91 heap->FinalizeIncrementalMarkingIfComplete(
100 Heap* heap = isolate()->heap();
102 heap, EmbedderStackStateScope::kImplicitThroughTask, stack_state_);
104 heap->tracer()->RecordTimeToIncrementalMarkingTask(
105 heap->MonotonicallyIncreasingTimeInMs() - job_->scheduled_time_);
108 IncrementalMarking* incremental_marking = heap->incremental_marking();
110 if (heap->IncrementalMarkingLimitReached() !=
112 heap->StartIncrementalMarking(heap->GCFlagsForIncrementalMarking(),
127 heap->new_space()->MarkLabStartInitialized();
128 heap->new_lo_space()->ResetPendingObject();
129 StepResult step_result = Step(heap);
136 job_->ScheduleTask(heap, task_type);
141 double IncrementalMarkingJob::CurrentTimeToTask(Heap* heap) const {
144 return heap->MonotonicallyIncreasingTimeInMs() - scheduled_time_;