Reviewers: Søren Gjesse,
Description:
MIPS: Fixed two bugs related to double function calls.
These originated from 4dfb7f2e.
This fixes cctest test-api/ConversionNumber in soft-float mode.
BUG=
TEST=
Please review this at http://codereview.chromium.org/7068002/
Affected files:
M src/mips/code-stubs-mips.cc
M src/mips/macro-assembler-mips.cc
Index: src/mips/code-stubs-mips.cc
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
index
e9643ba84493aed4c3bf8713a456c9a3898a3756..50e3369c6be8107db973f40cb955c36faa70ccd0
100644
--- a/src/mips/code-stubs-mips.cc
+++ b/src/mips/code-stubs-mips.cc
@@ -3439,9 +3439,9 @@ void MathPowStub::Generate(MacroAssembler* masm) {
&call_runtime);
__ push(ra);
__ PrepareCallCFunction(3, scratch);
- __ SetCallCDoubleArguments(double_base, double_exponent);
+ __ SetCallCDoubleArguments(double_base, exponent);
__ CallCFunction(
- ExternalReference::power_double_int_function(masm->isolate()), 4);
+ ExternalReference::power_double_int_function(masm->isolate()), 3);
__ pop(ra);
__ GetCFunctionDoubleResult(double_result);
__ sdc1(double_result,
Index: src/mips/macro-assembler-mips.cc
diff --git a/src/mips/macro-assembler-mips.cc
b/src/mips/macro-assembler-mips.cc
index
5d216834b4d145305093f4ec918045c36fdc6b30..9e8adc4cb0ec06aa3da74ed81f8c90307989ee02
100644
--- a/src/mips/macro-assembler-mips.cc
+++ b/src/mips/macro-assembler-mips.cc
@@ -2651,9 +2651,9 @@ void MacroAssembler::CheckMap(Register obj,
void MacroAssembler::GetCFunctionDoubleResult(const DoubleRegister dst) {
CpuFeatures::Scope scope(FPU);
if (IsMipsSoftFloatABI) {
- Move(v0, v1, dst);
+ Move(dst, v0, v1);
} else {
- Move(f0, dst); // Reg f0 is o32 ABI FP return value.
+ Move(dst, f0); // Reg f0 is o32 ABI FP return value.
}
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev