| 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);
|
|
|