| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index 8d6f52abddf697f15c1af6246e3c4a5af5775705..b9376f2ad511cf6508f1d3e6a264548397948367 100644
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -928,10 +928,12 @@ static bool GetOptimizedCodeNow(CompilationInfo* info) {
|
| Isolate* isolate = info->isolate();
|
| CanonicalHandleScope canonical(isolate);
|
| TimerEventScope<TimerEventOptimizeCode> optimize_code_timer(isolate);
|
| + TRACE_EVENT0("v8", "V8.OptimizeCode");
|
|
|
| if (!Compiler::ParseAndAnalyze(info->parse_info())) return false;
|
|
|
| TimerEventScope<TimerEventRecompileSynchronous> timer(isolate);
|
| + TRACE_EVENT0("v8", "V8.RecompileSynchronous");
|
|
|
| OptimizedCompileJob job(info);
|
| if (job.CreateGraph() != OptimizedCompileJob::SUCCEEDED ||
|
| @@ -958,6 +960,7 @@ static bool GetOptimizedCodeLater(CompilationInfo* info) {
|
| Isolate* isolate = info->isolate();
|
| CanonicalHandleScope canonical(isolate);
|
| TimerEventScope<TimerEventOptimizeCode> optimize_code_timer(isolate);
|
| + TRACE_EVENT0("v8", "V8.OptimizeCode");
|
|
|
| if (!isolate->optimizing_compile_dispatcher()->IsQueueAvailable()) {
|
| if (FLAG_trace_concurrent_recompilation) {
|
| @@ -976,6 +979,7 @@ static bool GetOptimizedCodeLater(CompilationInfo* info) {
|
| info->parse_info()->ReopenHandlesInNewHandleScope();
|
|
|
| TimerEventScope<TimerEventRecompileSynchronous> timer(info->isolate());
|
| + TRACE_EVENT0("v8", "V8.RecompileSynchronous");
|
|
|
| OptimizedCompileJob* job = new (info->zone()) OptimizedCompileJob(info);
|
| OptimizedCompileJob::Status status = job->CreateGraph();
|
| @@ -1016,6 +1020,7 @@ MaybeHandle<Code> Compiler::GetLazyCode(Handle<JSFunction> function) {
|
| DCHECK(!isolate->has_pending_exception());
|
| DCHECK(!function->is_compiled());
|
| TimerEventScope<TimerEventCompileCode> compile_timer(isolate);
|
| + TRACE_EVENT0("v8", "V8.CompileCode");
|
| AggregatedHistogramTimerScope timer(isolate->counters()->compile_lazy());
|
| // If the debugger is active, do not compile with turbofan unless we can
|
| // deopt from turbofan code.
|
| @@ -1224,6 +1229,7 @@ void Compiler::CompileForLiveEdit(Handle<Script> script) {
|
| static Handle<SharedFunctionInfo> CompileToplevel(CompilationInfo* info) {
|
| Isolate* isolate = info->isolate();
|
| TimerEventScope<TimerEventCompileCode> timer(isolate);
|
| + TRACE_EVENT0("v8", "V8.CompileCode");
|
| PostponeInterruptsScope postpone(isolate);
|
| DCHECK(!isolate->native_context().is_null());
|
| ParseInfo* parse_info = info->parse_info();
|
| @@ -1283,6 +1289,7 @@ static Handle<SharedFunctionInfo> CompileToplevel(CompilationInfo* info) {
|
| ? info->isolate()->counters()->compile_eval()
|
| : info->isolate()->counters()->compile();
|
| HistogramTimerScope timer(rate);
|
| + TRACE_EVENT0("v8", info->is_eval() ? "V8.CompileEval" : "V8.Compile");
|
|
|
| // Compile the code.
|
| if (!CompileBaselineCode(info)) {
|
| @@ -1453,6 +1460,7 @@ Handle<SharedFunctionInfo> Compiler::CompileScript(
|
| !isolate->debug()->is_loaded()) {
|
| // Then check cached code provided by embedder.
|
| HistogramTimerScope timer(isolate->counters()->compile_deserialize());
|
| + TRACE_EVENT0("v8", "V8.CompileDeserialize");
|
| Handle<SharedFunctionInfo> result;
|
| if (CodeSerializer::Deserialize(isolate, *cached_data, source)
|
| .ToHandle(&result)) {
|
| @@ -1521,6 +1529,7 @@ Handle<SharedFunctionInfo> Compiler::CompileScript(
|
| compile_options == ScriptCompiler::kProduceCodeCache) {
|
| HistogramTimerScope histogram_timer(
|
| isolate->counters()->compile_serialize());
|
| + TRACE_EVENT0("v8", "V8.CompileSerialize");
|
| *cached_data = CodeSerializer::Serialize(isolate, result, source);
|
| if (FLAG_profile_deserialization) {
|
| PrintF("[Compiling and serializing took %0.3f ms]\n",
|
| @@ -1622,6 +1631,7 @@ Handle<SharedFunctionInfo> Compiler::GetSharedFunctionInfo(
|
|
|
| // Generate code
|
| TimerEventScope<TimerEventCompileCode> timer(isolate);
|
| + TRACE_EVENT0("v8", "V8.CompileCode");
|
| Handle<ScopeInfo> scope_info;
|
| if (lazy) {
|
| Handle<Code> code = isolate->builtins()->CompileLazy();
|
| @@ -1801,6 +1811,7 @@ MaybeHandle<Code> Compiler::GetConcurrentlyOptimizedCode(
|
|
|
| VMState<COMPILER> state(isolate);
|
| TimerEventScope<TimerEventRecompileSynchronous> timer(info->isolate());
|
| + TRACE_EVENT0("v8", "V8.RecompileSynchronous");
|
|
|
| Handle<SharedFunctionInfo> shared = info->shared_info();
|
| shared->code()->set_profiler_ticks(0);
|
|
|