OLD | NEW |
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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/heap/gc-tracer.h" | 7 #include "src/heap/gc-tracer.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 } | 353 } |
354 Output("%8.0f ms: ", heap_->isolate()->time_millis_since_init()); | 354 Output("%8.0f ms: ", heap_->isolate()->time_millis_since_init()); |
355 | 355 |
356 Output("%s %.1f (%.1f) -> %.1f (%.1f) MB, ", current_.TypeName(false), | 356 Output("%s %.1f (%.1f) -> %.1f (%.1f) MB, ", current_.TypeName(false), |
357 static_cast<double>(current_.start_object_size) / MB, | 357 static_cast<double>(current_.start_object_size) / MB, |
358 static_cast<double>(current_.start_memory_size) / MB, | 358 static_cast<double>(current_.start_memory_size) / MB, |
359 static_cast<double>(current_.end_object_size) / MB, | 359 static_cast<double>(current_.end_object_size) / MB, |
360 static_cast<double>(current_.end_memory_size) / MB); | 360 static_cast<double>(current_.end_memory_size) / MB); |
361 | 361 |
362 int external_time = static_cast<int>(current_.scopes[Scope::EXTERNAL]); | 362 int external_time = static_cast<int>(current_.scopes[Scope::EXTERNAL]); |
363 if (external_time > 0) Output("%d / ", external_time); | 363 double duration = current_.end_time - current_.start_time; |
| 364 Output("%.1f / %d ms", duration, external_time); |
364 | 365 |
365 double duration = current_.end_time - current_.start_time; | |
366 Output("%.1f ms", duration); | |
367 if (current_.type == Event::SCAVENGER) { | 366 if (current_.type == Event::SCAVENGER) { |
368 if (current_.incremental_marking_steps > 0) { | 367 if (current_.incremental_marking_steps > 0) { |
369 Output(" (+ %.1f ms in %d steps since last GC)", | 368 Output(" (+ %.1f ms in %d steps since last GC)", |
370 current_.incremental_marking_duration, | 369 current_.incremental_marking_duration, |
371 current_.incremental_marking_steps); | 370 current_.incremental_marking_steps); |
372 } | 371 } |
373 } else { | 372 } else { |
374 if (current_.incremental_marking_steps > 0) { | 373 if (current_.incremental_marking_steps > 0) { |
375 Output( | 374 Output( |
376 " (+ %.1f ms in %d steps since start of marking, " | 375 " (+ %.1f ms in %d steps since start of marking, " |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
722 | 721 |
723 | 722 |
724 bool GCTracer::SurvivalEventsRecorded() const { | 723 bool GCTracer::SurvivalEventsRecorded() const { |
725 return survival_events_.size() > 0; | 724 return survival_events_.size() > 0; |
726 } | 725 } |
727 | 726 |
728 | 727 |
729 void GCTracer::ResetSurvivalEvents() { survival_events_.reset(); } | 728 void GCTracer::ResetSurvivalEvents() { survival_events_.reset(); } |
730 } // namespace internal | 729 } // namespace internal |
731 } // namespace v8 | 730 } // namespace v8 |
OLD | NEW |