Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index e5e6ec50d132b923937be0cf1e6b524d2450236b..32c3397dc77b35ef8261b04a86a3f86253ceeae1 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -601,7 +601,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); |
@@ -610,7 +611,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. |
} |
@@ -620,6 +621,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) { |
{ |