Commit 49de5875 authored by Ulan Degenbaev's avatar Ulan Degenbaev Committed by Commit Bot

[heap] Perform more embedder tracing in incremental marking step

This should fix GC latency regressions introduced in 4c6598.

Bug: chromium:926189, chromium:930844, chromium:930693,chromium:931629
Change-Id: I81c91829badbeea82d6e44670d07794632869424
Reviewed-on: https://chromium-review.googlesource.com/c/1477216Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59668}
parent 1a3a2bc3
......@@ -996,14 +996,16 @@ StepResult IncrementalMarking::AdvanceWithDeadline(
double remaining_time_in_ms = 0.0;
StepResult result;
do {
StepResult embedder_result = EmbedderStep(kStepSizeInMs / 2);
StepResult v8_result =
V8Step(kStepSizeInMs / 2, completion_action, step_origin);
remaining_time_in_ms =
deadline_in_ms - heap()->MonotonicallyIncreasingTimeInMs();
StepResult embedder_result =
EmbedderStep(Min(kStepSizeInMs, remaining_time_in_ms));
result = CombineStepResults(v8_result, embedder_result);
remaining_time_in_ms =
deadline_in_ms - heap()->MonotonicallyIncreasingTimeInMs();
} while (remaining_time_in_ms > kStepSizeInMs && !IsComplete() &&
!marking_worklist()->IsEmpty() &&
} while (remaining_time_in_ms >= kStepSizeInMs &&
result == StepResult::kMoreWorkRemaining);
return result;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment