Reviewers: fschneider,

Description:
MIPS: Remove gp and sp from callee-saved register list.


BUG=
TEST=


Please review this at http://codereview.chromium.org/7740018/

Affected files:
  M src/mips/code-stubs-mips.cc
  M src/mips/frames-mips.h


Index: src/mips/code-stubs-mips.cc
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
index d89d3e57cbe67eb3629be6203322762211ae3d2b..90e5706222b3a234fc7a4eb13893e1ef6048f5d2 100644
--- a/src/mips/code-stubs-mips.cc
+++ b/src/mips/code-stubs-mips.cc
@@ -3693,10 +3693,10 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) {
   // args

   // Save callee saved registers on the stack.
-  __ MultiPush((kCalleeSaved | ra.bit()) & ~sp.bit());
+  __ MultiPush(kCalleeSaved | ra.bit());

   // Load argv in s0 register.
-  __ lw(s0, MemOperand(sp, kNumCalleeSaved * kPointerSize +
+  __ lw(s0, MemOperand(sp, (kNumCalleeSaved + 1) * kPointerSize +
                            StandardFrameConstants::kCArgsSlotsSize));

   // We build an EntryFrame.
Index: src/mips/frames-mips.h
diff --git a/src/mips/frames-mips.h b/src/mips/frames-mips.h
index 8c605a39d93ad6ec430f43ffe2cfc1465073bbf1..1899843a198d22484365dc2357bde396c918d5d4 100644
--- a/src/mips/frames-mips.h
+++ b/src/mips/frames-mips.h
@@ -59,10 +59,10 @@ static const RegList kCalleeSaved =
   // Saved temporaries.
   1 << 16 | 1 << 17 | 1 << 18 | 1 << 19 |
   1 << 20 | 1 << 21 | 1 << 22 | 1 << 23 |
-  // gp, sp, fp.
-  1 << 28 | 1 << 29 | 1 << 30;
+  // fp.
+  1 << 30;

-static const int kNumCalleeSaved = 11;
+static const int kNumCalleeSaved = 9;


 // Number of registers for which space is reserved in safepoints. Must be a


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to