| Index: src/mips/macro-assembler-mips.cc | 
| diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc | 
| index d67e58e660e8679a320957f9efdc522310632de4..116cb05655305f933a825a140a9ff76fa952fbdd 100644 | 
| --- a/src/mips/macro-assembler-mips.cc | 
| +++ b/src/mips/macro-assembler-mips.cc | 
| @@ -3526,6 +3526,15 @@ void MacroAssembler::GetCFunctionDoubleResult(const DoubleRegister dst) { | 
| } | 
|  | 
|  | 
| +void MacroAssembler::GetFromCDoubleArguments(const DoubleRegister dst) { | 
| +  if (IsMipsSoftFloatABI) { | 
| +    Move(dst, a0, a1); | 
| +  } else { | 
| +    Move(dst, f12);  // Reg f12 is o32 ABI FP first argument value. | 
| +  } | 
| +} | 
| + | 
| + | 
| void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg) { | 
| if (!IsMipsSoftFloatABI) { | 
| Move(f12, dreg); | 
| @@ -3535,6 +3544,15 @@ void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg) { | 
| } | 
|  | 
|  | 
| +void MacroAssembler::SetForCDoubleResult(DoubleRegister dreg) { | 
| +  if (!IsMipsSoftFloatABI) { | 
| +    Move(f0, dreg); | 
| +  } else { | 
| +    Move(v0, v1, dreg); | 
| +  } | 
| +} | 
| + | 
| + | 
| void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg1, | 
| DoubleRegister dreg2) { | 
| if (!IsMipsSoftFloatABI) { | 
|  |