Chromium Code Reviews| Index: src/ic/arm/handler-compiler-arm.cc |
| diff --git a/src/ic/arm/handler-compiler-arm.cc b/src/ic/arm/handler-compiler-arm.cc |
| index 9905e4eb7de75b4b38f659e91f58df62e3f53362..c17078a33527ce83dc45cc314fb02398baab78cf 100644 |
| --- a/src/ic/arm/handler-compiler-arm.cc |
| +++ b/src/ic/arm/handler-compiler-arm.cc |
| @@ -229,18 +229,17 @@ static void CompileCallLoadPropertyWithInterceptor( |
| // Generate call to api function. |
| -void PropertyHandlerCompiler::GenerateFastApiCall( |
| +void PropertyHandlerCompiler::GenerateApiAccessorCall( |
| MacroAssembler* masm, const CallOptimization& optimization, |
| Handle<Map> receiver_map, Register receiver, Register scratch_in, |
| - bool is_store, int argc, Register* values) { |
| + bool is_store, Register store_parameter) { |
| DCHECK(!receiver.is(scratch_in)); |
| __ push(receiver); |
| // Write the arguments to stack frame. |
| - for (int i = 0; i < argc; i++) { |
| - Register arg = values[argc - 1 - i]; |
| - DCHECK(!receiver.is(arg)); |
| - DCHECK(!scratch_in.is(arg)); |
| - __ push(arg); |
| + if (is_store) { |
| + DCHECK(!receiver.is(store_parameter)); |
| + DCHECK(!scratch_in.is(store_parameter)); |
| + __ push(store_parameter); |
| } |
| DCHECK(optimization.is_simple_api_call()); |
| @@ -274,8 +273,8 @@ void PropertyHandlerCompiler::GenerateFastApiCall( |
| // Put callee in place. |
| __ Move(callee, function); |
| - bool call_data_undefined = false; |
|
jochen (gone - plz use gerrit)
2015/01/15 19:28:24
nit. undo this change
|
| // Put call_data in place. |
| + bool call_data_undefined = false; |
| if (isolate->heap()->InNewSpace(*call_data_obj)) { |
| __ Move(call_data, api_call_info); |
| __ ldr(call_data, FieldMemOperand(call_data, CallHandlerInfo::kDataOffset)); |
| @@ -294,7 +293,7 @@ void PropertyHandlerCompiler::GenerateFastApiCall( |
| __ mov(api_function_address, Operand(ref)); |
| // Jump to stub. |
| - CallApiFunctionStub stub(isolate, is_store, call_data_undefined, argc); |
| + CallApiAccessorStub stub(isolate, is_store, call_data_undefined); |
| __ TailCallStub(&stub); |
| } |