Landing: MIPS: Remove gp and sp from callee-saved register list.
Original code review: http://codereview.chromium.org/7740018/ Review URL: http://codereview.chromium.org/7744050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
dda2889ba1
commit
3cdff159ea
@ -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.
|
||||
@ -3830,7 +3830,7 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) {
|
||||
__ addiu(sp, sp, -EntryFrameConstants::kCallerFPOffset);
|
||||
|
||||
// Restore callee saved registers from the stack.
|
||||
__ MultiPop((kCalleeSaved | ra.bit()) & ~sp.bit());
|
||||
__ MultiPop(kCalleeSaved | ra.bit());
|
||||
// Return.
|
||||
__ Jump(ra);
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user