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

Reply via email to