heap: Fix V8.GCMainThreadMarkingThroughput

Some scopes that were subtracted were not part of the outer scopes and
thus can result in negative values.

Change-Id: I2264b27c4b7a48075fed4e3afaa6b6dd27d8daa4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762299
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63298}
This commit is contained in:
Michael Lippautz 2019-08-20 21:27:30 +02:00 committed by Commit Bot
parent dc1cc2232b
commit 3be845c78d

View File

@ -1203,10 +1203,7 @@ void GCTracer::RecordGCPhasesHistograms(TimedHistogram* gc_timer) {
DCHECK_GT(overall_marking_time, 0.0);
const double overall_v8_marking_time =
overall_marking_time -
current_.scopes[Scope::MC_MARK_EMBEDDER_PROLOGUE] -
current_.scopes[Scope::MC_MARK_EMBEDDER_TRACING] -
current_.scopes[Scope::MC_INCREMENTAL_EMBEDDER_PROLOGUE] -
current_.scopes[Scope::MC_INCREMENTAL_EMBEDDER_TRACING];
current_.scopes[Scope::MC_MARK_EMBEDDER_TRACING];
DCHECK_GT(overall_v8_marking_time, 0.0);
const int main_thread_marking_throughput_mb_per_s =
static_cast<int>(static_cast<double>(heap_->SizeOfObjects()) /