Index: src/x64/builtins-x64.cc |
diff --git a/src/x64/builtins-x64.cc b/src/x64/builtins-x64.cc |
index 30cd314255d7d24d65184278221fb236a4312503..f4864f899ef2eb3b79375f69c5c6e42816ff5e95 100644 |
--- a/src/x64/builtins-x64.cc |
+++ b/src/x64/builtins-x64.cc |
@@ -662,7 +662,8 @@ void Builtins::Generate_MarkCodeAsExecutedTwice(MacroAssembler* masm) { |
} |
-void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) { |
+static void Generate_NotifyStubFailureHelper(MacroAssembler* masm, |
+ SaveFPRegsMode save_doubles) { |
// Enter an internal frame. |
{ |
FrameScope scope(masm, StackFrame::INTERNAL); |
@@ -671,7 +672,7 @@ void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) { |
// stubs that tail call the runtime on deopts passing their parameters in |
// registers. |
__ Pushad(); |
- __ CallRuntime(Runtime::kNotifyStubFailure, 0); |
+ __ CallRuntime(Runtime::kNotifyStubFailure, 0, save_doubles); |
__ Popad(); |
// Tear down internal frame. |
} |
@@ -681,6 +682,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) { |
// Enter an internal frame. |