Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index dcd01cd292b74b459b9c141fa7f7e8e392644959..0daf4023ae020c99f63ec5cd8414074d9b5f0023 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -23,6 +23,7 @@ |
#include "src/prototype.h" |
#include "src/runtime/runtime.h" |
#include "src/runtime/runtime-utils.h" |
+#include "src/tracing/trace-event.h" |
namespace v8 { |
namespace internal { |
@@ -2219,6 +2220,7 @@ void CallIC::HandleMiss(Handle<Object> function) { |
// Used from ic-<arch>.cc. |
RUNTIME_FUNCTION(Runtime_CallIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
DCHECK(args.length() == 3); |
Handle<Object> function = args.at<Object>(0); |
@@ -2235,6 +2237,7 @@ RUNTIME_FUNCTION(Runtime_CallIC_Miss) { |
// Used from ic-<arch>.cc. |
RUNTIME_FUNCTION(Runtime_LoadIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> receiver = args.at<Object>(0); |
Handle<Name> key = args.at<Name>(1); |
@@ -2267,6 +2270,7 @@ RUNTIME_FUNCTION(Runtime_LoadIC_Miss) { |
// Used from ic-<arch>.cc |
RUNTIME_FUNCTION(Runtime_KeyedLoadIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> receiver = args.at<Object>(0); |
Handle<Object> key = args.at<Object>(1); |
@@ -2286,6 +2290,7 @@ RUNTIME_FUNCTION(Runtime_KeyedLoadIC_Miss) { |
RUNTIME_FUNCTION(Runtime_KeyedLoadIC_MissFromStubFailure) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> receiver = args.at<Object>(0); |
Handle<Object> key = args.at<Object>(1); |
@@ -2307,6 +2312,7 @@ RUNTIME_FUNCTION(Runtime_KeyedLoadIC_MissFromStubFailure) { |
// Used from ic-<arch>.cc. |
RUNTIME_FUNCTION(Runtime_StoreIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> receiver = args.at<Object>(0); |
Handle<Name> key = args.at<Name>(1); |
@@ -2338,6 +2344,7 @@ RUNTIME_FUNCTION(Runtime_StoreIC_Miss) { |
RUNTIME_FUNCTION(Runtime_StoreIC_MissFromStubFailure) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> receiver = args.at<Object>(0); |
Handle<Name> key = args.at<Name>(1); |
@@ -2390,6 +2397,7 @@ RUNTIME_FUNCTION(Runtime_StoreIC_MissFromStubFailure) { |
// Used from ic-<arch>.cc. |
RUNTIME_FUNCTION(Runtime_KeyedStoreIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> receiver = args.at<Object>(0); |
Handle<Object> key = args.at<Object>(1); |
@@ -2411,6 +2419,7 @@ RUNTIME_FUNCTION(Runtime_KeyedStoreIC_Miss) { |
RUNTIME_FUNCTION(Runtime_KeyedStoreIC_MissFromStubFailure) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> receiver = args.at<Object>(0); |
Handle<Object> key = args.at<Object>(1); |
@@ -2468,6 +2477,7 @@ RUNTIME_FUNCTION(Runtime_KeyedStoreIC_Slow) { |
RUNTIME_FUNCTION(Runtime_ElementsTransitionAndStoreIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
// Length == 5 or 6, depending on whether the vector slot |
// is passed in a virtual register or not. |
@@ -2615,6 +2625,7 @@ MaybeHandle<Object> BinaryOpIC::Transition( |
RUNTIME_FUNCTION(Runtime_BinaryOpIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
DCHECK_EQ(2, args.length()); |
Handle<Object> left = args.at<Object>(BinaryOpICStub::kLeft); |
@@ -2630,6 +2641,7 @@ RUNTIME_FUNCTION(Runtime_BinaryOpIC_Miss) { |
RUNTIME_FUNCTION(Runtime_BinaryOpIC_MissWithAllocationSite) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
DCHECK_EQ(3, args.length()); |
Handle<AllocationSite> allocation_site = |
@@ -2704,6 +2716,7 @@ Code* CompareIC::UpdateCaches(Handle<Object> x, Handle<Object> y) { |
// Used from CompareICStub::GenerateMiss in code-stubs-<arch>.cc. |
RUNTIME_FUNCTION(Runtime_CompareIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
DCHECK(args.length() == 3); |
CompareIC ic(isolate, static_cast<Token::Value>(args.smi_at(2))); |
@@ -2754,6 +2767,7 @@ Handle<Object> CompareNilIC::CompareNil(Handle<Object> object) { |
RUNTIME_FUNCTION(Runtime_CompareNilIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> object = args.at<Object>(0); |
CompareNilIC ic(isolate); |
@@ -2779,6 +2793,7 @@ Handle<Object> ToBooleanIC::ToBoolean(Handle<Object> object) { |
RUNTIME_FUNCTION(Runtime_ToBooleanIC_Miss) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
DCHECK(args.length() == 1); |
HandleScope scope(isolate); |
Handle<Object> object = args.at<Object>(0); |
@@ -2930,6 +2945,7 @@ RUNTIME_FUNCTION(Runtime_LoadElementWithInterceptor) { |
RUNTIME_FUNCTION(Runtime_LoadIC_MissFromStubFailure) { |
TimerEventScope<TimerEventIcMiss> timer(isolate); |
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8"), "V8.IcMiss"); |
HandleScope scope(isolate); |
Handle<Object> receiver = args.at<Object>(0); |
Handle<Name> key = args.at<Name>(1); |