| 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..d0f06e471095a0214b072ccb33cb2d42a4ccc8eb 100644
|
| --- a/src/mips/stub-cache-mips.cc
|
| +++ b/src/mips/stub-cache-mips.cc
|
| @@ -3501,7 +3501,7 @@ void KeyedLoadStubCompiler::GenerateLoadExternalArray(
|
|
|
| // We are not untagging smi key and instead work with it
|
| // as if it was premultiplied by 2.
|
| - ASSERT((kSmiTag == 0) && (kSmiTagSize == 1));
|
| + STATIC_ASSERT((kSmiTag == 0) && (kSmiTagSize == 1));
|
|
|
| Register value = a2;
|
| switch (elements_kind) {
|
| @@ -4213,7 +4213,7 @@ void KeyedLoadStubCompiler::GenerateLoadFastElement(MacroAssembler* masm) {
|
|
|
| // Load the result and make sure it's not the hole.
|
| __ Addu(a3, a2, Operand(FixedArray::kHeaderSize - kHeapObjectTag));
|
| - ASSERT(kSmiTag == 0 && kSmiTagSize < kPointerSizeLog2);
|
| + STATIC_ASSERT(kSmiTag == 0 && kSmiTagSize < kPointerSizeLog2);
|
| __ sll(t0, a0, kPointerSizeLog2 - kSmiTagSize);
|
| __ Addu(t0, t0, a3);
|
| __ lw(t0, MemOperand(t0));
|
| @@ -4344,7 +4344,7 @@ void KeyedStoreStubCompiler::GenerateStoreFastElement(MacroAssembler* masm,
|
|
|
| __ Addu(scratch,
|
| elements_reg, Operand(FixedArray::kHeaderSize - kHeapObjectTag));
|
| - ASSERT(kSmiTag == 0 && kSmiTagSize < kPointerSizeLog2);
|
| + STATIC_ASSERT(kSmiTag == 0 && kSmiTagSize < kPointerSizeLog2);
|
| __ sll(scratch2, key_reg, kPointerSizeLog2 - kSmiTagSize);
|
| __ Addu(scratch3, scratch2, scratch);
|
| __ sw(value_reg, MemOperand(scratch3));
|
| @@ -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);
|
|
|