summaryrefslogtreecommitdiff
path: root/deps/v8/src/compilation-statistics.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compilation-statistics.cc')
-rw-r--r--deps/v8/src/compilation-statistics.cc162
1 files changed, 0 insertions, 162 deletions
diff --git a/deps/v8/src/compilation-statistics.cc b/deps/v8/src/compilation-statistics.cc
deleted file mode 100644
index d809eab82a..0000000000
--- a/deps/v8/src/compilation-statistics.cc
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2014 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <ostream> // NOLINT(readability/streams)
-#include <vector>
-
-#include "src/base/platform/platform.h"
-#include "src/compilation-statistics.h"
-
-namespace v8 {
-namespace internal {
-
-void CompilationStatistics::RecordPhaseStats(const char* phase_kind_name,
- const char* phase_name,
- const BasicStats& stats) {
- base::MutexGuard guard(&record_mutex_);
-
- std::string phase_name_str(phase_name);
- auto it = phase_map_.find(phase_name_str);
- if (it == phase_map_.end()) {
- PhaseStats phase_stats(phase_map_.size(), phase_kind_name);
- it = phase_map_.insert(std::make_pair(phase_name_str, phase_stats)).first;
- }
- it->second.Accumulate(stats);
-}
-
-
-void CompilationStatistics::RecordPhaseKindStats(const char* phase_kind_name,
- const BasicStats& stats) {
- base::MutexGuard guard(&record_mutex_);
-
- std::string phase_kind_name_str(phase_kind_name);
- auto it = phase_kind_map_.find(phase_kind_name_str);
- if (it == phase_kind_map_.end()) {
- PhaseKindStats phase_kind_stats(phase_kind_map_.size());
- it = phase_kind_map_.insert(std::make_pair(phase_kind_name_str,
- phase_kind_stats)).first;
- }
- it->second.Accumulate(stats);
-}
-
-
-void CompilationStatistics::RecordTotalStats(size_t source_size,
- const BasicStats& stats) {
- base::MutexGuard guard(&record_mutex_);
-
- source_size += source_size;
- total_stats_.Accumulate(stats);
-}
-
-
-void CompilationStatistics::BasicStats::Accumulate(const BasicStats& stats) {
- delta_ += stats.delta_;
- total_allocated_bytes_ += stats.total_allocated_bytes_;
- if (stats.absolute_max_allocated_bytes_ > absolute_max_allocated_bytes_) {
- absolute_max_allocated_bytes_ = stats.absolute_max_allocated_bytes_;
- max_allocated_bytes_ = stats.max_allocated_bytes_;
- function_name_ = stats.function_name_;
- }
-}
-
-static void WriteLine(std::ostream& os, bool machine_format, const char* name,
- const CompilationStatistics::BasicStats& stats,
- const CompilationStatistics::BasicStats& total_stats) {
- const size_t kBufferSize = 128;
- char buffer[kBufferSize];
-
- double ms = stats.delta_.InMillisecondsF();
- double percent = stats.delta_.PercentOf(total_stats.delta_);
- double size_percent =
- static_cast<double>(stats.total_allocated_bytes_ * 100) /
- static_cast<double>(total_stats.total_allocated_bytes_);
- if (machine_format) {
- base::OS::SNPrintF(buffer, kBufferSize,
- "\"%s_time\"=%.3f\n\"%s_space\"=%" PRIuS, name, ms, name,
- stats.total_allocated_bytes_);
- os << buffer;
- } else {
- base::OS::SNPrintF(
- buffer, kBufferSize,
- "%34s %10.3f (%5.1f%%) %10" PRIuS " (%5.1f%%) %10" PRIuS " %10" PRIuS,
- name, ms, percent, stats.total_allocated_bytes_, size_percent,
- stats.max_allocated_bytes_, stats.absolute_max_allocated_bytes_);
-
- os << buffer;
- if (stats.function_name_.size() > 0) {
- os << " " << stats.function_name_.c_str();
- }
- os << std::endl;
- }
-}
-
-
-static void WriteFullLine(std::ostream& os) {
- os << "-----------------------------------------------------------"
- "-----------------------------------------------------------\n";
-}
-
-
-static void WriteHeader(std::ostream& os) {
- WriteFullLine(os);
- os << " Turbofan phase Time (ms) "
- << " Space (bytes) Function\n"
- << " "
- << " Total Max. Abs. max.\n";
- WriteFullLine(os);
-}
-
-
-static void WritePhaseKindBreak(std::ostream& os) {
- os << " ------------------------"
- "-----------------------------------------------------------\n";
-}
-
-std::ostream& operator<<(std::ostream& os, const AsPrintableStatistics& ps) {
- // phase_kind_map_ and phase_map_ don't get mutated, so store a bunch of
- // pointers into them.
- const CompilationStatistics& s = ps.s;
-
- typedef std::vector<CompilationStatistics::PhaseKindMap::const_iterator>
- SortedPhaseKinds;
- SortedPhaseKinds sorted_phase_kinds(s.phase_kind_map_.size());
- for (auto it = s.phase_kind_map_.begin(); it != s.phase_kind_map_.end();
- ++it) {
- sorted_phase_kinds[it->second.insert_order_] = it;
- }
-
- typedef std::vector<CompilationStatistics::PhaseMap::const_iterator>
- SortedPhases;
- SortedPhases sorted_phases(s.phase_map_.size());
- for (auto it = s.phase_map_.begin(); it != s.phase_map_.end(); ++it) {
- sorted_phases[it->second.insert_order_] = it;
- }
-
- if (!ps.machine_output) WriteHeader(os);
- for (const auto& phase_kind_it : sorted_phase_kinds) {
- const auto& phase_kind_name = phase_kind_it->first;
- if (!ps.machine_output) {
- for (const auto& phase_it : sorted_phases) {
- const auto& phase_stats = phase_it->second;
- if (phase_stats.phase_kind_name_ != phase_kind_name) continue;
- const auto& phase_name = phase_it->first;
- WriteLine(os, ps.machine_output, phase_name.c_str(), phase_stats,
- s.total_stats_);
- }
- WritePhaseKindBreak(os);
- }
- const auto& phase_kind_stats = phase_kind_it->second;
- WriteLine(os, ps.machine_output, phase_kind_name.c_str(), phase_kind_stats,
- s.total_stats_);
- os << std::endl;
- }
-
- if (!ps.machine_output) WriteFullLine(os);
- WriteLine(os, ps.machine_output, "totals", s.total_stats_, s.total_stats_);
-
- return os;
-}
-
-} // namespace internal
-} // namespace v8