Index: src/arm/macro-assembler-arm.h |
diff --git a/src/arm/macro-assembler-arm.h b/src/arm/macro-assembler-arm.h |
index ab5efb0b319705de5e4273443f85b7630dcb76b7..9692cad81d740fb456a567c1a83c6be341299270 100644 |
--- a/src/arm/macro-assembler-arm.h |
+++ b/src/arm/macro-assembler-arm.h |
@@ -748,7 +748,19 @@ class MacroAssembler: public Assembler { |
// C++ code. |
// Needs a scratch register to do some arithmetic. This register will be |
// trashed. |
- void PrepareCallCFunction(int num_arguments, Register scratch); |
+ void PrepareCallCFunction(int num_reg_arguments, |
+ int num_double_registers, |
+ Register scratch); |
+ void PrepareCallCFunction(int num_reg_arguments, |
+ Register scratch); |
+ |
+ // There are two ways of passing double arguments on ARM, depending on |
+ // whether soft or hard floating point ABI is used. These functions |
+ // abstract parameter passing for the three different ways we call |
+ // C functions from generated code. |
+ void SetCallCDoubleArguments(DoubleRegister dreg); |
+ void SetCallCDoubleArguments(DoubleRegister dreg1, DoubleRegister dreg2); |
+ void SetCallCDoubleArguments(DoubleRegister dreg, Register reg); |
// Calls a C function and cleans up the space for arguments allocated |
// by PrepareCallCFunction. The called function is not allowed to trigger a |