| Index: src/mips/builtins-mips.cc
|
| diff --git a/src/mips/builtins-mips.cc b/src/mips/builtins-mips.cc
|
| index 3aabd97b9729339432e28dd9248152f75f20636d..a300d1f15b0a21fbae2d1ba005fcb327b80bc06b 100644
|
| --- a/src/mips/builtins-mips.cc
|
| +++ b/src/mips/builtins-mips.cc
|
| @@ -823,12 +823,9 @@ static void GenerateMakeCodeYoungAgainCommon(MacroAssembler* masm) {
|
| // internal frame to make the code faster, since we shouldn't have to do stack
|
| // crawls in MakeCodeYoung. This seems a bit fragile.
|
|
|
| - __ mov(a0, ra);
|
| - // Adjust a0 to point to the head of the PlatformCodeAge sequence
|
| + // Set a0 to point to the head of the PlatformCodeAge sequence.
|
| __ Subu(a0, a0,
|
| Operand((kNoCodeAgeSequenceLength - 1) * Assembler::kInstrSize));
|
| - // Restore the original return address of the function
|
| - __ mov(ra, at);
|
|
|
| // The following registers must be saved and restored when calling through to
|
| // the runtime:
|
| @@ -858,7 +855,9 @@ CODE_AGE_LIST(DEFINE_CODE_AGE_BUILTIN_GENERATOR)
|
| #undef DEFINE_CODE_AGE_BUILTIN_GENERATOR
|
|
|
|
|
| -void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) {
|
| +
|
| +static void Generate_NotifyStubFailureHelper(MacroAssembler* masm,
|
| + SaveFPRegsMode save_doubles) {
|
| {
|
| FrameScope scope(masm, StackFrame::INTERNAL);
|
|
|
| @@ -867,7 +866,7 @@ void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) {
|
| // registers.
|
| __ MultiPush(kJSCallerSaved | kCalleeSaved);
|
| // Pass the function and deoptimization type to the runtime system.
|
| - __ CallRuntime(Runtime::kNotifyStubFailure, 0);
|
| + __ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles);
|
| __ MultiPop(kJSCallerSaved | kCalleeSaved);
|
| }
|
|
|
| @@ -876,6 +875,16 @@ void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| +void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) {
|
| + Generate_NotifyStubFailureHelper(masm, kDontSaveFPRegs);
|
| +}
|
| +
|
| +
|
| +void Builtins::Generate_NotifyStubFailureSaveDoubles(MacroAssembler* masm) {
|
| + Generate_NotifyStubFailureHelper(masm, kSaveFPRegs);
|
| +}
|
| +
|
| +
|
| static void Generate_NotifyDeoptimizedHelper(MacroAssembler* masm,
|
| Deoptimizer::BailoutType type) {
|
| {
|
|
|