| Index: src/gc-tracer.cc
|
| diff --git a/src/gc-tracer.cc b/src/gc-tracer.cc
|
| index 86743cda23fa33a10da3c949ac3282a710ec52cc..3b381b3ad9c0c4b1843311edbc57122a1a526da0 100644
|
| --- a/src/gc-tracer.cc
|
| +++ b/src/gc-tracer.cc
|
| @@ -268,5 +268,50 @@ void GCTracer::PrintNVP() const {
|
|
|
| PrintF("\n");
|
| }
|
| +
|
| +
|
| +double GCTracer::MeanDuration(const EventBuffer& events) const {
|
| + if (events.empty()) return 0.0;
|
| +
|
| + double mean = 0.0;
|
| + EventBuffer::const_iterator iter = events.begin();
|
| + while (iter != events.end()) {
|
| + mean += iter->end_time - iter->start_time;
|
| + ++iter;
|
| + }
|
| +
|
| + return mean / events.size();
|
| +}
|
| +
|
| +
|
| +double GCTracer::MaxDuration(const EventBuffer& events) const {
|
| + if (events.empty()) return 0.0;
|
| +
|
| + double maximum = 0.0f;
|
| + EventBuffer::const_iterator iter = events.begin();
|
| + while (iter != events.end()) {
|
| + maximum = Max(iter->end_time - iter->start_time, maximum);
|
| + ++iter;
|
| + }
|
| +
|
| + return maximum;
|
| +}
|
| +
|
| +
|
| +double GCTracer::MeanIncrementalMarkingDuration() const {
|
| + if (mark_compactor_events_.empty()) return 0.0;
|
| +
|
| + EventBuffer::const_iterator last_mc = mark_compactor_events_.begin();
|
| + return last_mc->incremental_marking_duration /
|
| + last_mc->incremental_marking_steps;
|
| +}
|
| +
|
| +
|
| +double GCTracer::MaxIncrementalMarkingDuration() const {
|
| + if (mark_compactor_events_.empty()) return 0.0;
|
| +
|
| + EventBuffer::const_iterator last_mc = mark_compactor_events_.begin();
|
| + return last_mc->longest_incremental_marking_step;
|
| +}
|
| }
|
| } // namespace v8::internal
|
|
|