Index: src/ia32/macro-assembler-ia32.cc |
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc |
index 26d0f92d262658654cb4e50063ce6d33e1468d0e..b36d9cddbf8119dc6062ea1416da50c55b829ed4 100644 |
--- a/src/ia32/macro-assembler-ia32.cc |
+++ b/src/ia32/macro-assembler-ia32.cc |
@@ -1796,7 +1796,9 @@ void MacroAssembler::CallRuntimeSaveDoubles(Runtime::FunctionId id) { |
const Runtime::Function* function = Runtime::FunctionForId(id); |
Set(eax, Immediate(function->nargs)); |
mov(ebx, Immediate(ExternalReference(function, isolate()))); |
- CEntryStub ces(1, kSaveFPRegs); |
+ CEntryStub ces(1, CpuFeatures::IsSupported(SSE2) |
+ ? kSaveFPRegs : |
+ kDontSaveFPRegs); |
CallStub(&ces); |
} |