Index: src/arm/macro-assembler-arm.cc |
=================================================================== |
--- src/arm/macro-assembler-arm.cc (revision 9507) |
+++ src/arm/macro-assembler-arm.cc (working copy) |
@@ -3205,23 +3205,15 @@ |
void MacroAssembler::CallCFunction(ExternalReference function, |
int num_reg_arguments, |
int num_double_arguments) { |
- CallCFunctionHelper(no_reg, |
- function, |
- ip, |
- num_reg_arguments, |
- num_double_arguments); |
+ mov(ip, Operand(function)); |
+ CallCFunctionHelper(ip, num_reg_arguments, num_double_arguments); |
} |
void MacroAssembler::CallCFunction(Register function, |
- Register scratch, |
- int num_reg_arguments, |
- int num_double_arguments) { |
- CallCFunctionHelper(function, |
- ExternalReference::the_hole_value_location(isolate()), |
- scratch, |
- num_reg_arguments, |
- num_double_arguments); |
+ int num_reg_arguments, |
+ int num_double_arguments) { |
+ CallCFunctionHelper(function, num_reg_arguments, num_double_arguments); |
} |
@@ -3232,15 +3224,12 @@ |
void MacroAssembler::CallCFunction(Register function, |
- Register scratch, |
int num_arguments) { |
- CallCFunction(function, scratch, num_arguments, 0); |
+ CallCFunction(function, num_arguments, 0); |
} |
void MacroAssembler::CallCFunctionHelper(Register function, |
- ExternalReference function_reference, |
- Register scratch, |
int num_reg_arguments, |
int num_double_arguments) { |
ASSERT(has_frame()); |
@@ -3267,10 +3256,6 @@ |
// Just call directly. The function called cannot cause a GC, or |
// allow preemption, so the return address in the link register |
// stays correct. |
- if (function.is(no_reg)) { |
- mov(scratch, Operand(function_reference)); |
- function = scratch; |
- } |
Call(function); |
int stack_passed_arguments = CalculateStackPassedWords( |
num_reg_arguments, num_double_arguments); |