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

Unified Diff: src/compiler.cc

Issue 1923893002: [counters] Annotate v8 with more runtime call counters. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fixing few more things Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
« src/api.cc ('K') | « src/api-arguments.cc ('k') | src/counters.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler.cc
diff --git a/src/compiler.cc b/src/compiler.cc
index 73eeba09cf96e96cc417aaccf1cdb87e46a6f62d..b470ac0873dc04cfa8cbbf49468f9691b0421f68 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -678,6 +678,8 @@ bool GetOptimizedCodeNow(CompilationJob* job) {
if (!Compiler::ParseAndAnalyze(info->parse_info())) return false;
}
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(isolate, &stats->RecompileSynchronous);
TimerEventScope<TimerEventRecompileSynchronous> timer(isolate);
TRACE_EVENT0("v8", "V8.RecompileSynchronous");
@@ -726,6 +728,9 @@ bool GetOptimizedCodeLater(CompilationJob* job) {
info->ReopenHandlesInNewHandleScope();
info->parse_info()->ReopenHandlesInNewHandleScope();
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(info->isolate(),
+ &stats->RecompileSynchronous);
TimerEventScope<TimerEventRecompileSynchronous> timer(info->isolate());
TRACE_EVENT0("v8", "V8.RecompileSynchronous");
@@ -805,6 +810,8 @@ MaybeHandle<Code> GetOptimizedCode(Handle<JSFunction> function,
}
CanonicalHandleScope canonical(isolate);
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(isolate, &stats->OptimizeCode);
TimerEventScope<TimerEventOptimizeCode> optimize_code_timer(isolate);
TRACE_EVENT0("v8", "V8.OptimizeCode");
@@ -950,6 +957,8 @@ MaybeHandle<Code> GetLazyCode(Handle<JSFunction> function) {
Isolate* isolate = function->GetIsolate();
DCHECK(!isolate->has_pending_exception());
DCHECK(!function->is_compiled());
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(isolate, &stats->CompileCode);
TimerEventScope<TimerEventCompileCode> compile_timer(isolate);
TRACE_EVENT0("v8", "V8.CompileCode");
AggregatedHistogramTimerScope timer(isolate->counters()->compile_lazy());
@@ -1022,6 +1031,8 @@ Handle<SharedFunctionInfo> NewSharedFunctionInfoForLiteral(
Handle<SharedFunctionInfo> CompileToplevel(CompilationInfo* info) {
Isolate* isolate = info->isolate();
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(isolate, &stats->CompileCode);
TimerEventScope<TimerEventCompileCode> timer(isolate);
TRACE_EVENT0("v8", "V8.CompileCode");
PostponeInterruptsScope postpone(isolate);
@@ -1084,9 +1095,12 @@ Handle<SharedFunctionInfo> CompileToplevel(CompilationInfo* info) {
// Measure how long it takes to do the compilation; only take the
// rest of the function into account to avoid overlap with the
// parsing statistics.
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(
+ isolate, info->is_eval() ? &stats->CompileEval : &stats->Compile);
HistogramTimer* rate = info->is_eval()
- ? info->isolate()->counters()->compile_eval()
- : info->isolate()->counters()->compile();
+ ? info->isolate()->counters()->compile_eval()
+ : info->isolate()->counters()->compile();
HistogramTimerScope timer(rate);
TRACE_EVENT0("v8", info->is_eval() ? "V8.CompileEval" : "V8.Compile");
@@ -1463,6 +1477,8 @@ Handle<SharedFunctionInfo> Compiler::GetSharedFunctionInfoForScript(
compile_options == ScriptCompiler::kConsumeCodeCache &&
!isolate->debug()->is_loaded()) {
// Then check cached code provided by embedder.
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(isolate, &stats->CompileDeserialize);
HistogramTimerScope timer(isolate->counters()->compile_deserialize());
TRACE_EVENT0("v8", "V8.CompileDeserialize");
Handle<SharedFunctionInfo> result;
@@ -1533,6 +1549,8 @@ Handle<SharedFunctionInfo> Compiler::GetSharedFunctionInfoForScript(
compilation_cache->PutScript(source, context, language_mode, result);
if (FLAG_serialize_toplevel &&
compile_options == ScriptCompiler::kProduceCodeCache) {
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(isolate, &stats->CompileSerialize);
HistogramTimerScope histogram_timer(
isolate->counters()->compile_serialize());
TRACE_EVENT0("v8", "V8.CompileSerialize");
@@ -1656,6 +1674,8 @@ Handle<SharedFunctionInfo> Compiler::GetSharedFunctionInfo(
!(FLAG_ignition && FLAG_ignition_eager && !isolate->serializer_enabled());
// Generate code
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(isolate, &stats->CompileCode);
TimerEventScope<TimerEventCompileCode> timer(isolate);
TRACE_EVENT0("v8", "V8.CompileCode");
if (lazy) {
@@ -1731,6 +1751,8 @@ void Compiler::FinalizeCompilationJob(CompilationJob* raw_job) {
Isolate* isolate = info->isolate();
VMState<COMPILER> state(isolate);
+ RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
+ RuntimeCallTimerScope runtimeTimer(isolate, &stats->RecompileSynchronous);
TimerEventScope<TimerEventRecompileSynchronous> timer(info->isolate());
TRACE_EVENT0("v8", "V8.RecompileSynchronous");
« src/api.cc ('K') | « src/api-arguments.cc ('k') | src/counters.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698