| Index: src/ia32/stub-cache-ia32.cc
|
| diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc
|
| index 809228c7ec5332aa4c863ac405f8e7864f4d25ab..189c0e4d16c668e70e8094ba745c62e3be78a2a8 100644
|
| --- a/src/ia32/stub-cache-ia32.cc
|
| +++ b/src/ia32/stub-cache-ia32.cc
|
| @@ -1264,16 +1264,11 @@ Object* CallStubCompiler::CompileArrayPushCall(Object* object,
|
| }
|
|
|
| __ bind(&miss);
|
| -
|
| Handle<Code> ic = ComputeCallMiss(arguments().immediate());
|
| __ jmp(ic, RelocInfo::CODE_TARGET);
|
|
|
| // Return the generated code.
|
| - String* function_name = NULL;
|
| - if (function->shared()->name()->IsString()) {
|
| - function_name = String::cast(function->shared()->name());
|
| - }
|
| - return GetCode(CONSTANT_FUNCTION, function_name);
|
| + return GetCode(function);
|
| }
|
|
|
|
|
| @@ -1351,16 +1346,11 @@ Object* CallStubCompiler::CompileArrayPopCall(Object* object,
|
| 1);
|
|
|
| __ bind(&miss);
|
| -
|
| Handle<Code> ic = ComputeCallMiss(arguments().immediate());
|
| __ jmp(ic, RelocInfo::CODE_TARGET);
|
|
|
| // Return the generated code.
|
| - String* function_name = NULL;
|
| - if (function->shared()->name()->IsString()) {
|
| - function_name = String::cast(function->shared()->name());
|
| - }
|
| - return GetCode(CONSTANT_FUNCTION, function_name);
|
| + return GetCode(function);
|
| }
|
|
|
|
|
| @@ -1379,9 +1369,9 @@ Object* CallStubCompiler::CompileCallConstant(Object* object,
|
|
|
| SharedFunctionInfo* function_info = function->shared();
|
| if (function_info->HasCustomCallGenerator()) {
|
| - CustomCallGenerator generator =
|
| - ToCData<CustomCallGenerator>(function_info->function_data());
|
| - Object* result = generator(this, object, holder, function, name, check);
|
| + const int id = function_info->custom_call_generator_id();
|
| + Object* result =
|
| + CompileCustomCall(id, object, holder, function, name, check);
|
| // undefined means bail out to regular compiler.
|
| if (!result->IsUndefined()) {
|
| return result;
|
| @@ -1518,11 +1508,7 @@ Object* CallStubCompiler::CompileCallConstant(Object* object,
|
| __ jmp(ic, RelocInfo::CODE_TARGET);
|
|
|
| // Return the generated code.
|
| - String* function_name = NULL;
|
| - if (function->shared()->name()->IsString()) {
|
| - function_name = String::cast(function->shared()->name());
|
| - }
|
| - return GetCode(CONSTANT_FUNCTION, function_name);
|
| + return GetCode(function);
|
| }
|
|
|
|
|
|
|