Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Side by Side Diff: src/heap/gc-tracer.cc

Issue 2361073002: [heap] Remove --print-cumulative-gc-stat flag. (Closed)
Patch Set: unused variables Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/heap/gc-tracer.h ('k') | src/heap/heap.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/heap/gc-tracer.h" 5 #include "src/heap/gc-tracer.h"
6 6
7 #include "src/counters.h" 7 #include "src/counters.h"
8 #include "src/heap/heap-inl.h" 8 #include "src/heap/heap-inl.h"
9 #include "src/isolate.h" 9 #include "src/isolate.h"
10 10
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 } 109 }
110 110
111 GCTracer::GCTracer(Heap* heap) 111 GCTracer::GCTracer(Heap* heap)
112 : heap_(heap), 112 : heap_(heap),
113 current_(Event::START, GarbageCollectionReason::kUnknown, nullptr), 113 current_(Event::START, GarbageCollectionReason::kUnknown, nullptr),
114 previous_(current_), 114 previous_(current_),
115 previous_incremental_mark_compactor_event_(current_), 115 previous_incremental_mark_compactor_event_(current_),
116 cumulative_incremental_marking_bytes_(0), 116 cumulative_incremental_marking_bytes_(0),
117 cumulative_incremental_marking_duration_(0.0), 117 cumulative_incremental_marking_duration_(0.0),
118 cumulative_pure_incremental_marking_duration_(0.0), 118 cumulative_pure_incremental_marking_duration_(0.0),
119 cumulative_marking_duration_(0.0),
120 cumulative_sweeping_duration_(0.0),
121 allocation_time_ms_(0.0), 119 allocation_time_ms_(0.0),
122 new_space_allocation_counter_bytes_(0), 120 new_space_allocation_counter_bytes_(0),
123 old_generation_allocation_counter_bytes_(0), 121 old_generation_allocation_counter_bytes_(0),
124 allocation_duration_since_gc_(0.0), 122 allocation_duration_since_gc_(0.0),
125 new_space_allocation_in_bytes_since_gc_(0), 123 new_space_allocation_in_bytes_since_gc_(0),
126 old_generation_allocation_in_bytes_since_gc_(0), 124 old_generation_allocation_in_bytes_since_gc_(0),
127 combined_mark_compact_speed_cache_(0.0), 125 combined_mark_compact_speed_cache_(0.0),
128 start_counter_(0) { 126 start_counter_(0) {
129 current_.end_time = heap_->MonotonicallyIncreasingTimeInMs(); 127 current_.end_time = heap_->MonotonicallyIncreasingTimeInMs();
130 } 128 }
131 129
132 void GCTracer::ResetForTesting() { 130 void GCTracer::ResetForTesting() {
133 current_ = Event(Event::START, GarbageCollectionReason::kTesting, nullptr); 131 current_ = Event(Event::START, GarbageCollectionReason::kTesting, nullptr);
134 current_.end_time = heap_->MonotonicallyIncreasingTimeInMs(); 132 current_.end_time = heap_->MonotonicallyIncreasingTimeInMs();
135 previous_ = previous_incremental_mark_compactor_event_ = current_; 133 previous_ = previous_incremental_mark_compactor_event_ = current_;
136 cumulative_incremental_marking_bytes_ = 0.0; 134 cumulative_incremental_marking_bytes_ = 0.0;
137 cumulative_incremental_marking_duration_ = 0.0; 135 cumulative_incremental_marking_duration_ = 0.0;
138 cumulative_pure_incremental_marking_duration_ = 0.0; 136 cumulative_pure_incremental_marking_duration_ = 0.0;
139 cumulative_marking_duration_ = 0.0;
140 for (int i = 0; i < Scope::NUMBER_OF_INCREMENTAL_SCOPES; i++) { 137 for (int i = 0; i < Scope::NUMBER_OF_INCREMENTAL_SCOPES; i++) {
141 incremental_marking_scopes_[i].cumulative_duration = 0.0; 138 incremental_marking_scopes_[i].cumulative_duration = 0.0;
142 incremental_marking_scopes_[i].steps = 0; 139 incremental_marking_scopes_[i].steps = 0;
143 incremental_marking_scopes_[i].longest_step = 0.0; 140 incremental_marking_scopes_[i].longest_step = 0.0;
144 } 141 }
145 cumulative_sweeping_duration_ = 0.0;
146 allocation_time_ms_ = 0.0; 142 allocation_time_ms_ = 0.0;
147 new_space_allocation_counter_bytes_ = 0.0; 143 new_space_allocation_counter_bytes_ = 0.0;
148 old_generation_allocation_counter_bytes_ = 0.0; 144 old_generation_allocation_counter_bytes_ = 0.0;
149 allocation_duration_since_gc_ = 0.0; 145 allocation_duration_since_gc_ = 0.0;
150 new_space_allocation_in_bytes_since_gc_ = 0.0; 146 new_space_allocation_in_bytes_since_gc_ = 0.0;
151 old_generation_allocation_in_bytes_since_gc_ = 0.0; 147 old_generation_allocation_in_bytes_since_gc_ = 0.0;
152 combined_mark_compact_speed_cache_ = 0.0; 148 combined_mark_compact_speed_cache_ = 0.0;
153 recorded_scavenges_total_.Reset(); 149 recorded_scavenges_total_.Reset();
154 recorded_scavenges_survived_.Reset(); 150 recorded_scavenges_survived_.Reset();
155 recorded_compactions_.Reset(); 151 recorded_compactions_.Reset();
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 DCHECK(current_.incremental_marking_bytes == 0); 294 DCHECK(current_.incremental_marking_bytes == 0);
299 DCHECK(current_.pure_incremental_marking_duration == 0); 295 DCHECK(current_.pure_incremental_marking_duration == 0);
300 recorded_mark_compacts_.Push( 296 recorded_mark_compacts_.Push(
301 MakeBytesAndDuration(current_.start_object_size, duration)); 297 MakeBytesAndDuration(current_.start_object_size, duration));
302 combined_mark_compact_speed_cache_ = 0.0; 298 combined_mark_compact_speed_cache_ = 0.0;
303 for (int i = 0; i < Scope::NUMBER_OF_INCREMENTAL_SCOPES; i++) { 299 for (int i = 0; i < Scope::NUMBER_OF_INCREMENTAL_SCOPES; i++) {
304 incremental_marking_scopes_[i].ResetCurrentCycle(); 300 incremental_marking_scopes_[i].ResetCurrentCycle();
305 } 301 }
306 } 302 }
307 303
308 double spent_in_mutator = Max(current_.start_time - previous_.end_time, 0.0); 304 heap_->UpdateTotalGCTime(duration);
309 heap_->UpdateCumulativeGCStatistics(duration, spent_in_mutator,
310 current_.scopes[Scope::MC_MARK]);
311 305
312 if (current_.type == Event::SCAVENGER && FLAG_trace_gc_ignore_scavenger) 306 if (current_.type == Event::SCAVENGER && FLAG_trace_gc_ignore_scavenger)
313 return; 307 return;
314 308
315 if (FLAG_trace_gc_nvp) { 309 if (FLAG_trace_gc_nvp) {
316 PrintNVP(); 310 PrintNVP();
317 } else { 311 } else {
318 Print(); 312 Print();
319 } 313 }
320 314
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 381
388 382
389 void GCTracer::AddSurvivalRatio(double promotion_ratio) { 383 void GCTracer::AddSurvivalRatio(double promotion_ratio) {
390 recorded_survival_ratios_.Push(promotion_ratio); 384 recorded_survival_ratios_.Push(promotion_ratio);
391 } 385 }
392 386
393 387
394 void GCTracer::AddIncrementalMarkingStep(double duration, intptr_t bytes) { 388 void GCTracer::AddIncrementalMarkingStep(double duration, intptr_t bytes) {
395 cumulative_incremental_marking_bytes_ += bytes; 389 cumulative_incremental_marking_bytes_ += bytes;
396 cumulative_incremental_marking_duration_ += duration; 390 cumulative_incremental_marking_duration_ += duration;
397 cumulative_marking_duration_ += duration;
398 if (bytes > 0) { 391 if (bytes > 0) {
399 cumulative_pure_incremental_marking_duration_ += duration; 392 cumulative_pure_incremental_marking_duration_ += duration;
400 } 393 }
401 } 394 }
402 395
403 void GCTracer::Output(const char* format, ...) const { 396 void GCTracer::Output(const char* format, ...) const {
404 if (FLAG_trace_gc) { 397 if (FLAG_trace_gc) {
405 va_list arguments; 398 va_list arguments;
406 va_start(arguments, format); 399 va_start(arguments, format);
407 base::OS::VPrint(format, arguments); 400 base::OS::VPrint(format, arguments);
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 } 827 }
835 828
836 void GCTracer::ResetSurvivalEvents() { recorded_survival_ratios_.Reset(); } 829 void GCTracer::ResetSurvivalEvents() { recorded_survival_ratios_.Reset(); }
837 830
838 void GCTracer::NotifyIncrementalMarkingStart() { 831 void GCTracer::NotifyIncrementalMarkingStart() {
839 incremental_marking_start_time_ = heap_->MonotonicallyIncreasingTimeInMs(); 832 incremental_marking_start_time_ = heap_->MonotonicallyIncreasingTimeInMs();
840 } 833 }
841 834
842 } // namespace internal 835 } // namespace internal
843 } // namespace v8 836 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/gc-tracer.h ('k') | src/heap/heap.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698