Commit 80ec6420 authored by Mythri's avatar Mythri Committed by Commit Bot

Add support for tracing and counters for CreateCodeCache


Bug: chromium:783124
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: If2b5d8030d2a8c86c67cb460632a41a11e2c4371
Reviewed-on: https://chromium-review.googlesource.com/828978Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50131}
parent 0da56e74
......@@ -2712,19 +2712,36 @@ ScriptCompiler::CachedData* ScriptCompiler::CreateCodeCache(
i::Handle<i::SharedFunctionInfo> shared =
i::Handle<i::SharedFunctionInfo>::cast(
Utils::OpenHandle(*unbound_script));
i::Isolate* isolate = shared->GetIsolate();
TRACE_EVENT_CALL_STATS_SCOPED(isolate, "v8", "V8.Execute");
base::ElapsedTimer timer;
if (i::FLAG_profile_deserialization) {
timer.Start();
}
i::HistogramTimerScope histogram_timer(
isolate->counters()->compile_serialize());
i::RuntimeCallTimerScope runtimeTimer(
isolate, i::RuntimeCallCounterId::kCompileSerialize);
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.compile"), "V8.CompileSerialize");
DCHECK(shared->is_toplevel());
i::Handle<i::Script> script(i::Script::cast(shared->script()));
i::Isolate* isolate = shared->GetIsolate();
// TODO(7110): Enable serialization of Asm modules once the AsmWasmData is
// context independent.
if (script->ContainsAsmModule()) return nullptr;
if (isolate->debug()->is_loaded()) return nullptr;
i::ScriptData* script_data =
i::CodeSerializer::Serialize(isolate, shared, Utils::OpenHandle(*source));
CachedData* result = new CachedData(
script_data->data(), script_data->length(), CachedData::BufferOwned);
script_data->ReleaseDataOwnership();
delete script_data;
if (i::FLAG_profile_deserialization) {
i::PrintF("[Serializing took %0.3f ms]\n",
timer.Elapsed().InMillisecondsF());
}
return result;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment