Index: src/mips/stub-cache-mips.cc |
diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc |
index 5feac30ba75cf6db482a09b3205cadd8d2bfd71b..c17a658d1dae16ecc6e0b2e42b8fbf608aa7e012 100644 |
--- a/src/mips/stub-cache-mips.cc |
+++ b/src/mips/stub-cache-mips.cc |
@@ -4428,7 +4428,8 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement( |
__ sw(mantissa_reg, FieldMemOperand(scratch, FixedDoubleArray::kHeaderSize)); |
uint32_t offset = FixedDoubleArray::kHeaderSize + sizeof(kHoleNanLower32); |
__ sw(exponent_reg, FieldMemOperand(scratch, offset)); |
- __ Ret(); |
+ __ Ret(USE_DELAY_SLOT); |
+ __ mov(v0, value_reg); // In delay slot. |
__ bind(&maybe_nan); |
// Could be NaN or Infinity. If fraction is not zero, it's NaN, otherwise |
@@ -4478,7 +4479,8 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement( |
__ sw(mantissa_reg, MemOperand(scratch, 0)); |
__ sw(exponent_reg, MemOperand(scratch, Register::kSizeInBytes)); |
} |
- __ Ret(); |
+ __ Ret(USE_DELAY_SLOT); |
+ __ mov(v0, value_reg); // In delay slot. |
// Handle store cache miss, replacing the ic with the generic stub. |
__ bind(&miss_force_generic); |