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