Index: src/compiler-dispatcher/compiler-dispatcher-tracer.cc |
diff --git a/src/compiler-dispatcher/compiler-dispatcher-tracer.cc b/src/compiler-dispatcher/compiler-dispatcher-tracer.cc |
index f8af05feb97085a95f3a6267815dff606d3fc28d..0370d8e9958d57e6bd968ae4d84a41a22cb1e3d1 100644 |
--- a/src/compiler-dispatcher/compiler-dispatcher-tracer.cc |
+++ b/src/compiler-dispatcher/compiler-dispatcher-tracer.cc |
@@ -16,6 +16,8 @@ double MonotonicallyIncreasingTimeInMs() { |
static_cast<double>(base::Time::kMillisecondsPerSecond); |
} |
+const double kEstimatedRuntimeWithoutData = 1.0; |
+ |
} // namespace |
CompilerDispatcherTracer::Scope::Scope(CompilerDispatcherTracer* tracer, |
@@ -129,22 +131,23 @@ double CompilerDispatcherTracer::EstimateParseInMs(size_t source_length) const { |
return Estimate(parse_events_, source_length); |
} |
-double CompilerDispatcherTracer::EstimateFinalizeParsingInMs() { |
+double CompilerDispatcherTracer::EstimateFinalizeParsingInMs() const { |
base::LockGuard<base::Mutex> lock(&mutex_); |
return Average(finalize_parsing_events_); |
} |
-double CompilerDispatcherTracer::EstimatePrepareToCompileInMs() { |
+double CompilerDispatcherTracer::EstimatePrepareToCompileInMs() const { |
base::LockGuard<base::Mutex> lock(&mutex_); |
return Average(prepare_compile_events_); |
} |
-double CompilerDispatcherTracer::EstimateCompileInMs(size_t ast_size_in_bytes) { |
+double CompilerDispatcherTracer::EstimateCompileInMs( |
+ size_t ast_size_in_bytes) const { |
base::LockGuard<base::Mutex> lock(&mutex_); |
return Estimate(compile_events_, ast_size_in_bytes); |
} |
-double CompilerDispatcherTracer::EstimateFinalizeCompilingInMs() { |
+double CompilerDispatcherTracer::EstimateFinalizeCompilingInMs() const { |
base::LockGuard<base::Mutex> lock(&mutex_); |
return Average(finalize_compiling_events_); |
} |
@@ -158,7 +161,7 @@ double CompilerDispatcherTracer::Average( |
double CompilerDispatcherTracer::Estimate( |
const base::RingBuffer<std::pair<size_t, double>>& buffer, size_t num) { |
- if (buffer.Count() == 0) return 0.0; |
+ if (buffer.Count() == 0) return kEstimatedRuntimeWithoutData; |
std::pair<size_t, double> sum = buffer.Sum( |
[](std::pair<size_t, double> a, std::pair<size_t, double> b) { |
return std::make_pair(a.first + b.first, a.second + b.second); |