heap: Fix bug in unified heap tracing by v8
Bug: chromium:1082438,chromium:1083860 Change-Id: I8f0defe0db0e420e970311bcaf0aebb3ccebb4b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219928 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#68042}
This commit is contained in:
parent
0ffe2b53ff
commit
3408718e85
@ -745,10 +745,13 @@ StepResult IncrementalMarking::EmbedderStep(double expected_duration_ms,
|
||||
}
|
||||
}
|
||||
}
|
||||
// |deadline - heap_->MonotonicallyIncreasingTimeInMs()| could be negative,
|
||||
// which means |local_tracer| won't do any actual tracing, so there is no
|
||||
// need to check for |deadline <= heap_->MonotonicallyIncreasingTimeInMs()|.
|
||||
bool remote_tracing_done =
|
||||
local_tracer->Trace(deadline - heap_->MonotonicallyIncreasingTimeInMs());
|
||||
double current = heap_->MonotonicallyIncreasingTimeInMs();
|
||||
local_tracer->SetEmbedderWorklistEmpty(true);
|
||||
local_tracer->SetEmbedderWorklistEmpty(empty_worklist);
|
||||
*duration_ms = current - start;
|
||||
return (empty_worklist && remote_tracing_done)
|
||||
? StepResult::kNoImmediateWork
|
||||
|
Loading…
Reference in New Issue
Block a user