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

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

Issue 1407883003: [heap] Print memory mode in --trace-gc-nvp. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 2 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') | no next file » | 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 27 matching lines...) Expand all
38 } 38 }
39 39
40 40
41 GCTracer::Event::Event(Type type, const char* gc_reason, 41 GCTracer::Event::Event(Type type, const char* gc_reason,
42 const char* collector_reason) 42 const char* collector_reason)
43 : type(type), 43 : type(type),
44 gc_reason(gc_reason), 44 gc_reason(gc_reason),
45 collector_reason(collector_reason), 45 collector_reason(collector_reason),
46 start_time(0.0), 46 start_time(0.0),
47 end_time(0.0), 47 end_time(0.0),
48 reduce_memory(false),
48 start_object_size(0), 49 start_object_size(0),
49 end_object_size(0), 50 end_object_size(0),
50 start_memory_size(0), 51 start_memory_size(0),
51 end_memory_size(0), 52 end_memory_size(0),
52 start_holes_size(0), 53 start_holes_size(0),
53 end_holes_size(0), 54 end_holes_size(0),
54 cumulative_incremental_marking_steps(0), 55 cumulative_incremental_marking_steps(0),
55 incremental_marking_steps(0), 56 incremental_marking_steps(0),
56 cumulative_incremental_marking_bytes(0), 57 cumulative_incremental_marking_bytes(0),
57 incremental_marking_bytes(0), 58 incremental_marking_bytes(0),
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 current_ = Event(Event::SCAVENGER, gc_reason, collector_reason); 132 current_ = Event(Event::SCAVENGER, gc_reason, collector_reason);
132 } else if (collector == MARK_COMPACTOR) { 133 } else if (collector == MARK_COMPACTOR) {
133 if (heap_->incremental_marking()->WasActivated()) { 134 if (heap_->incremental_marking()->WasActivated()) {
134 current_ = 135 current_ =
135 Event(Event::INCREMENTAL_MARK_COMPACTOR, gc_reason, collector_reason); 136 Event(Event::INCREMENTAL_MARK_COMPACTOR, gc_reason, collector_reason);
136 } else { 137 } else {
137 current_ = Event(Event::MARK_COMPACTOR, gc_reason, collector_reason); 138 current_ = Event(Event::MARK_COMPACTOR, gc_reason, collector_reason);
138 } 139 }
139 } 140 }
140 141
142 current_.reduce_memory = heap_->ShouldReduceMemory();
141 current_.start_time = start_time; 143 current_.start_time = start_time;
142 current_.start_object_size = heap_->SizeOfObjects(); 144 current_.start_object_size = heap_->SizeOfObjects();
143 current_.start_memory_size = heap_->isolate()->memory_allocator()->Size(); 145 current_.start_memory_size = heap_->isolate()->memory_allocator()->Size();
144 current_.start_holes_size = CountTotalHolesSize(heap_); 146 current_.start_holes_size = CountTotalHolesSize(heap_);
145 current_.new_space_object_size = 147 current_.new_space_object_size =
146 heap_->new_space()->top() - heap_->new_space()->bottom(); 148 heap_->new_space()->top() - heap_->new_space()->bottom();
147 149
148 current_.cumulative_incremental_marking_steps = 150 current_.cumulative_incremental_marking_steps =
149 cumulative_incremental_marking_steps_; 151 cumulative_incremental_marking_steps_;
150 current_.cumulative_incremental_marking_bytes = 152 current_.cumulative_incremental_marking_bytes =
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 void GCTracer::PrintNVP() const { 395 void GCTracer::PrintNVP() const {
394 PrintIsolate(heap_->isolate(), "[I:%p] %8.0f ms: ", heap_->isolate(), 396 PrintIsolate(heap_->isolate(), "[I:%p] %8.0f ms: ", heap_->isolate(),
395 heap_->isolate()->time_millis_since_init()); 397 heap_->isolate()->time_millis_since_init());
396 398
397 double duration = current_.end_time - current_.start_time; 399 double duration = current_.end_time - current_.start_time;
398 double spent_in_mutator = current_.start_time - previous_.end_time; 400 double spent_in_mutator = current_.start_time - previous_.end_time;
399 401
400 PrintF("pause=%.1f ", duration); 402 PrintF("pause=%.1f ", duration);
401 PrintF("mutator=%.1f ", spent_in_mutator); 403 PrintF("mutator=%.1f ", spent_in_mutator);
402 PrintF("gc=%s ", current_.TypeName(true)); 404 PrintF("gc=%s ", current_.TypeName(true));
405 PrintF("reduce_memory=%d ", current_.reduce_memory);
403 406
404 switch (current_.type) { 407 switch (current_.type) {
405 case Event::SCAVENGER: 408 case Event::SCAVENGER:
406 PrintF("scavenge=%.2f ", current_.scopes[Scope::SCAVENGER_SCAVENGE]); 409 PrintF("scavenge=%.2f ", current_.scopes[Scope::SCAVENGER_SCAVENGE]);
407 PrintF("old_new=%.2f ", 410 PrintF("old_new=%.2f ",
408 current_.scopes[Scope::SCAVENGER_OLD_TO_NEW_POINTERS]); 411 current_.scopes[Scope::SCAVENGER_OLD_TO_NEW_POINTERS]);
409 PrintF("weak=%.2f ", current_.scopes[Scope::SCAVENGER_WEAK]); 412 PrintF("weak=%.2f ", current_.scopes[Scope::SCAVENGER_WEAK]);
410 PrintF("roots=%.2f ", current_.scopes[Scope::SCAVENGER_ROOTS]); 413 PrintF("roots=%.2f ", current_.scopes[Scope::SCAVENGER_ROOTS]);
411 PrintF("code=%.2f ", 414 PrintF("code=%.2f ",
412 current_.scopes[Scope::SCAVENGER_CODE_FLUSH_CANDIDATES]); 415 current_.scopes[Scope::SCAVENGER_CODE_FLUSH_CANDIDATES]);
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 751
749 752
750 bool GCTracer::SurvivalEventsRecorded() const { 753 bool GCTracer::SurvivalEventsRecorded() const {
751 return survival_events_.size() > 0; 754 return survival_events_.size() > 0;
752 } 755 }
753 756
754 757
755 void GCTracer::ResetSurvivalEvents() { survival_events_.reset(); } 758 void GCTracer::ResetSurvivalEvents() { survival_events_.reset(); }
756 } // namespace internal 759 } // namespace internal
757 } // namespace v8 760 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/gc-tracer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698