Chromium Code Reviews| Index: src/mips/code-stubs-mips.cc |
| diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc |
| index 56699a50304ab8f72102b3871257eb0e037eb058..ad3b1644e7acc4bfab6f0e1c636914caedb5339d 100644 |
| --- a/src/mips/code-stubs-mips.cc |
| +++ b/src/mips/code-stubs-mips.cc |
| @@ -7530,12 +7530,16 @@ void ProfileEntryHookStub::Generate(MacroAssembler* masm) { |
| const int32_t kReturnAddressDistanceFromFunctionStart = |
| Assembler::kCallTargetAddressOffset + (2 * Assembler::kInstrSize); |
| - // Save live volatile registers. |
| + // This should contain all kCallerSaved registers. |
|
kisg
2013/07/01 20:48:22
kCallerSaved should read kJSCallerSaved
|
| + const RegList kSavedRegs = |
| + kJSCallerSaved | // Caller saved registers. |
| + s5.bit(); // Saved stack pointer. |
| + |
| // We also save ra, so the count here is one higher than the mask indicates. |
| - const int32_t kNumSavedRegs = kNumJSCallerSaved + 1; |
| + const int32_t kNumSavedRegs = kNumJSCallerSaved + 2; |
| // Save all caller-save registers as this may be called from anywhere. |
| - __ MultiPush(kJSCallerSaved | ra.bit()); |
| + __ MultiPush(kSavedRegs | ra.bit()); |
| // Compute the function's address for the first argument. |
| __ Subu(a0, ra, Operand(kReturnAddressDistanceFromFunctionStart)); |
| @@ -7547,7 +7551,7 @@ void ProfileEntryHookStub::Generate(MacroAssembler* masm) { |
| // Align the stack if necessary. |
| int frame_alignment = masm->ActivationFrameAlignment(); |
| if (frame_alignment > kPointerSize) { |
| - __ mov(t1, sp); |
| + __ mov(s5, sp); |
| ASSERT(IsPowerOf2(frame_alignment)); |
| __ And(sp, sp, Operand(-frame_alignment)); |
| } |
| @@ -7568,11 +7572,11 @@ void ProfileEntryHookStub::Generate(MacroAssembler* masm) { |
| // Restore the stack pointer if needed. |
| if (frame_alignment > kPointerSize) { |
| - __ mov(sp, t1); |
| + __ mov(sp, s5); |
| } |
| // Also pop ra to get Ret(0). |
| - __ MultiPop(kJSCallerSaved | ra.bit()); |
| + __ MultiPop(kSavedRegs | ra.bit()); |
| __ Ret(); |
| } |