Chromium Code Reviews| Index: src/arm/builtins-arm.cc |
| diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc |
| index d2202ff21cdd24c74bf012238cad9f4012f1b5db..69a1792b93cef48fb3eb6fd6ae3f59ec62fcc288 100644 |
| --- a/src/arm/builtins-arm.cc |
| +++ b/src/arm/builtins-arm.cc |
| @@ -1145,7 +1145,8 @@ static void Generate_InterpreterPushArgs(MacroAssembler* masm, Register index, |
| // static |
| void Builtins::Generate_InterpreterPushArgsAndCallImpl( |
| - MacroAssembler* masm, TailCallMode tail_call_mode) { |
| + MacroAssembler* masm, TailCallMode tail_call_mode, |
| + CallableType function_type) { |
| // ----------- S t a t e ------------- |
| // -- r0 : the number of arguments (not including the receiver) |
| // -- r2 : the address of the first argument to be pushed. Subsequent |
| @@ -1163,9 +1164,15 @@ void Builtins::Generate_InterpreterPushArgsAndCallImpl( |
| Generate_InterpreterPushArgs(masm, r2, r3, r4); |
| // Call the target. |
| - __ Jump(masm->isolate()->builtins()->Call(ConvertReceiverMode::kAny, |
| - tail_call_mode), |
| - RelocInfo::CODE_TARGET); |
| + if (function_type == CallableType::kJSFunction) { |
| + __ Jump(masm->isolate()->builtins()->CallFunction(ConvertReceiverMode::kAny, |
| + tail_call_mode), |
| + RelocInfo::CODE_TARGET); |
| + } else { |
|
rmcilroy
2016/07/12 09:36:20
DCHECK_EQ(function_type, CallableType:kAny (for al
mythria
2016/07/12 15:20:35
Done.
|
| + __ Jump(masm->isolate()->builtins()->Call(ConvertReceiverMode::kAny, |
| + tail_call_mode), |
| + RelocInfo::CODE_TARGET); |
| + } |
| } |
| // static |