| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index d88ab4a3bf94d222c2d2d99fcca042d9f8559971..b8a8fd5be0ba0417de7c846ea80d992d41835001 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -1318,7 +1318,7 @@ Handle<Code> LoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| switch (lookup->type()) {
|
| case FIELD:
|
| return isolate()->stub_cache()->ComputeLoadField(
|
| - name, receiver, holder,
|
| + name, receiver, holder, Code::LOAD_IC,
|
| lookup->GetFieldIndex(), lookup->representation());
|
| case CONSTANT: {
|
| Handle<Object> constant(lookup->GetConstant(), isolate());
|
| @@ -1326,7 +1326,7 @@ Handle<Code> LoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| // be embedded into code.
|
| if (constant->IsConsString()) return Handle<Code>::null();
|
| return isolate()->stub_cache()->ComputeLoadConstant(
|
| - name, receiver, holder, constant);
|
| + name, receiver, holder, Code::LOAD_IC, constant);
|
| }
|
| case NORMAL:
|
| if (holder->IsGlobalObject()) {
|
| @@ -1350,7 +1350,7 @@ Handle<Code> LoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| if (v8::ToCData<Address>(info->getter()) == 0) break;
|
| if (!info->IsCompatibleReceiver(*receiver)) break;
|
| return isolate()->stub_cache()->ComputeLoadCallback(
|
| - name, receiver, holder, info);
|
| + name, receiver, holder, Code::LOAD_IC, info);
|
| } else if (callback->IsAccessorPair()) {
|
| Handle<Object> getter(Handle<AccessorPair>::cast(callback)->getter(),
|
| isolate());
|
| @@ -1362,7 +1362,7 @@ Handle<Code> LoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| if (call_optimization.is_simple_api_call() &&
|
| call_optimization.IsCompatibleReceiver(*receiver)) {
|
| return isolate()->stub_cache()->ComputeLoadCallback(
|
| - name, receiver, holder, call_optimization);
|
| + name, receiver, holder, Code::LOAD_IC, call_optimization);
|
| }
|
| return isolate()->stub_cache()->ComputeLoadViaGetter(
|
| name, receiver, holder, function);
|
| @@ -1371,7 +1371,8 @@ Handle<Code> LoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| PropertyIndex lengthIndex =
|
| PropertyIndex::NewHeaderIndex(JSArray::kLengthOffset / kPointerSize);
|
| return isolate()->stub_cache()->ComputeLoadField(
|
| - name, receiver, holder, lengthIndex, Representation::Tagged());
|
| + name, receiver, holder, Code::LOAD_IC,
|
| + lengthIndex, Representation::Tagged());
|
| }
|
| // TODO(dcarney): Handle correctly.
|
| if (callback->IsDeclaredAccessorInfo()) break;
|
| @@ -1382,7 +1383,7 @@ Handle<Code> LoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| case INTERCEPTOR:
|
| ASSERT(HasInterceptorGetter(*holder));
|
| return isolate()->stub_cache()->ComputeLoadInterceptor(
|
| - name, receiver, holder);
|
| + name, receiver, holder, Code::LOAD_IC);
|
| default:
|
| break;
|
| }
|
| @@ -1537,16 +1538,16 @@ Handle<Code> KeyedLoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| Handle<JSObject> holder(lookup->holder(), isolate());
|
| switch (lookup->type()) {
|
| case FIELD:
|
| - return isolate()->stub_cache()->ComputeKeyedLoadField(
|
| - name, receiver, holder,
|
| + return isolate()->stub_cache()->ComputeLoadField(
|
| + name, receiver, holder, Code::KEYED_LOAD_IC,
|
| lookup->GetFieldIndex(), lookup->representation());
|
| case CONSTANT: {
|
| Handle<Object> constant(lookup->GetConstant(), isolate());
|
| // TODO(2803): Don't compute a stub for cons strings because they cannot
|
| // be embedded into code.
|
| if (constant->IsConsString()) return Handle<Code>::null();
|
| - return isolate()->stub_cache()->ComputeKeyedLoadConstant(
|
| - name, receiver, holder, constant);
|
| + return isolate()->stub_cache()->ComputeLoadConstant(
|
| + name, receiver, holder, Code::KEYED_LOAD_IC, constant);
|
| }
|
| case CALLBACKS: {
|
| Handle<Object> callback_object(lookup->GetCallbackObject(), isolate());
|
| @@ -1556,8 +1557,8 @@ Handle<Code> KeyedLoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| Handle<ExecutableAccessorInfo>::cast(callback_object);
|
| if (v8::ToCData<Address>(callback->getter()) == 0) break;
|
| if (!callback->IsCompatibleReceiver(*receiver)) break;
|
| - return isolate()->stub_cache()->ComputeKeyedLoadCallback(
|
| - name, receiver, holder, callback);
|
| + return isolate()->stub_cache()->ComputeLoadCallback(
|
| + name, receiver, holder, Code::KEYED_LOAD_IC, callback);
|
| } else if (callback_object->IsAccessorPair()) {
|
| Handle<Object> getter(
|
| Handle<AccessorPair>::cast(callback_object)->getter(),
|
| @@ -1569,16 +1570,16 @@ Handle<Code> KeyedLoadIC::ComputeLoadHandler(LookupResult* lookup,
|
| CallOptimization call_optimization(function);
|
| if (call_optimization.is_simple_api_call() &&
|
| call_optimization.IsCompatibleReceiver(*receiver)) {
|
| - return isolate()->stub_cache()->ComputeKeyedLoadCallback(
|
| - name, receiver, holder, call_optimization);
|
| + return isolate()->stub_cache()->ComputeLoadCallback(
|
| + name, receiver, holder, Code::KEYED_LOAD_IC, call_optimization);
|
| }
|
| }
|
| break;
|
| }
|
| case INTERCEPTOR:
|
| ASSERT(HasInterceptorGetter(lookup->holder()));
|
| - return isolate()->stub_cache()->ComputeKeyedLoadInterceptor(
|
| - name, receiver, holder);
|
| + return isolate()->stub_cache()->ComputeLoadInterceptor(
|
| + name, receiver, holder, Code::KEYED_LOAD_IC);
|
| default:
|
| // Always rewrite to the generic case so that we do not
|
| // repeatedly try to rewrite.
|
|
|