Commit d58937b8 authored by Ulan Degenbaev's avatar Ulan Degenbaev Committed by Commit Bot

[heap] Fix runtimestats scope for top-level GC tasks.

Perf sheriffs: this is going to increase GC time in v8.runtimestats
benchmarks. That time was not accounted before.

Change-Id: I656aed7ec7f4fd9f29dd4a2eff44eb25a60f21ad
Reviewed-on: https://chromium-review.googlesource.com/626636
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47520}
parent 3710fd4a
...@@ -781,7 +781,6 @@ class RuntimeCallTimer final { ...@@ -781,7 +781,6 @@ class RuntimeCallTimer final {
V(FunctionPrototypeGetter) \ V(FunctionPrototypeGetter) \
V(FunctionPrototypeSetter) \ V(FunctionPrototypeSetter) \
V(GC_Custom_AllAvailableGarbage) \ V(GC_Custom_AllAvailableGarbage) \
V(GC_Custom_IncrementalMarkingJob) \
V(GC_Custom_IncrementalMarkingObserver) \ V(GC_Custom_IncrementalMarkingObserver) \
V(GC_Custom_SlowAllocateRaw) \ V(GC_Custom_SlowAllocateRaw) \
V(GCEpilogueCallback) \ V(GCEpilogueCallback) \
......
...@@ -269,6 +269,7 @@ ...@@ -269,6 +269,7 @@
#define INCREMENTAL_SCOPES(F) \ #define INCREMENTAL_SCOPES(F) \
/* MC_INCREMENTAL is the top-level incremental marking scope. */ \ /* MC_INCREMENTAL is the top-level incremental marking scope. */ \
F(MC_INCREMENTAL) \ F(MC_INCREMENTAL) \
F(MC_INCREMENTAL_START) \
F(MC_INCREMENTAL_SWEEPING) \ F(MC_INCREMENTAL_SWEEPING) \
F(MC_INCREMENTAL_WRAPPER_PROLOGUE) \ F(MC_INCREMENTAL_WRAPPER_PROLOGUE) \
F(MC_INCREMENTAL_WRAPPER_TRACING) \ F(MC_INCREMENTAL_WRAPPER_TRACING) \
......
...@@ -42,9 +42,7 @@ void IncrementalMarkingJob::Task::Step(Heap* heap) { ...@@ -42,9 +42,7 @@ void IncrementalMarkingJob::Task::Step(Heap* heap) {
void IncrementalMarkingJob::Task::RunInternal() { void IncrementalMarkingJob::Task::RunInternal() {
VMState<GC> state(isolate()); VMState<GC> state(isolate());
TRACE_EVENT_CALL_STATS_SCOPED(isolate(), "v8.gc", "V8.Task"); TRACE_EVENT_CALL_STATS_SCOPED(isolate(), "v8", "V8.Task");
RuntimeCallTimerScope runtime_timer(
isolate(), &RuntimeCallStats::GC_Custom_IncrementalMarkingJob);
Heap* heap = isolate()->heap(); Heap* heap = isolate()->heap();
IncrementalMarking* incremental_marking = heap->incremental_marking(); IncrementalMarking* incremental_marking = heap->incremental_marking();
......
...@@ -481,6 +481,7 @@ void IncrementalMarking::Start(GarbageCollectionReason gc_reason) { ...@@ -481,6 +481,7 @@ void IncrementalMarking::Start(GarbageCollectionReason gc_reason) {
HistogramTimerScope incremental_marking_scope( HistogramTimerScope incremental_marking_scope(
counters->gc_incremental_marking_start()); counters->gc_incremental_marking_start());
TRACE_EVENT0("v8", "V8.GCIncrementalMarkingStart"); TRACE_EVENT0("v8", "V8.GCIncrementalMarkingStart");
TRACE_GC(heap()->tracer(), GCTracer::Scope::MC_INCREMENTAL_START);
heap_->tracer()->NotifyIncrementalMarkingStart(); heap_->tracer()->NotifyIncrementalMarkingStart();
start_time_ms_ = heap()->MonotonicallyIncreasingTimeInMs(); start_time_ms_ = heap()->MonotonicallyIncreasingTimeInMs();
......
...@@ -19,7 +19,7 @@ const double ScavengeJob::kMaxAllocationLimitAsFractionOfNewSpace = 0.8; ...@@ -19,7 +19,7 @@ const double ScavengeJob::kMaxAllocationLimitAsFractionOfNewSpace = 0.8;
void ScavengeJob::IdleTask::RunInternal(double deadline_in_seconds) { void ScavengeJob::IdleTask::RunInternal(double deadline_in_seconds) {
VMState<GC> state(isolate()); VMState<GC> state(isolate());
TRACE_EVENT_CALL_STATS_SCOPED(isolate(), "v8.gc", "V8.Task"); TRACE_EVENT_CALL_STATS_SCOPED(isolate(), "v8", "V8.Task");
Heap* heap = isolate()->heap(); Heap* heap = isolate()->heap();
double deadline_in_ms = double deadline_in_ms =
deadline_in_seconds * deadline_in_seconds *
......
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