| Index: src/mips/stub-cache-mips.cc
|
| diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc
|
| index 6332be495a10f0d7cd5398920dc3110974ed9483..294bc0a0747cab372f832cafa4acdd523c5a69d4 100644
|
| --- a/src/mips/stub-cache-mips.cc
|
| +++ b/src/mips/stub-cache-mips.cc
|
| @@ -577,8 +577,8 @@ static void CompileCallLoadPropertyWithInterceptor(
|
| ExternalReference ref =
|
| ExternalReference(IC_Utility(IC::kLoadPropertyWithInterceptorOnly),
|
| masm->isolate());
|
| - __ li(a0, Operand(5));
|
| - __ li(a1, Operand(ref));
|
| + __ PrepareCEntryArgs(5);
|
| + __ PrepareCEntryFunction(ref);
|
|
|
| CEntryStub stub(1);
|
| __ CallStub(&stub);
|
| @@ -4107,7 +4107,8 @@ void KeyedLoadStubCompiler::GenerateLoadFastElement(MacroAssembler* masm) {
|
| // have been verified by the caller to not be a smi.
|
|
|
| // Check that the key is a smi.
|
| - __ JumpIfNotSmi(a0, &miss_force_generic);
|
| + __ JumpIfNotSmi(a0, &miss_force_generic, at, USE_DELAY_SLOT);
|
| + // The delay slot can be safely used here, a1 is an object pointer.
|
|
|
| // Get the elements array.
|
| __ lw(a2, FieldMemOperand(a1, JSObject::kElementsOffset));
|
| @@ -4115,7 +4116,7 @@ void KeyedLoadStubCompiler::GenerateLoadFastElement(MacroAssembler* masm) {
|
|
|
| // Check that the key is within bounds.
|
| __ lw(a3, FieldMemOperand(a2, FixedArray::kLengthOffset));
|
| - __ Branch(&miss_force_generic, hs, a0, Operand(a3));
|
| + __ Branch(USE_DELAY_SLOT, &miss_force_generic, hs, a0, Operand(a3));
|
|
|
| // Load the result and make sure it's not the hole.
|
| __ Addu(a3, a2, Operand(FixedArray::kHeaderSize - kHeapObjectTag));
|
| @@ -4125,8 +4126,8 @@ void KeyedLoadStubCompiler::GenerateLoadFastElement(MacroAssembler* masm) {
|
| __ lw(t0, MemOperand(t0));
|
| __ LoadRoot(t1, Heap::kTheHoleValueRootIndex);
|
| __ Branch(&miss_force_generic, eq, t0, Operand(t1));
|
| + __ Ret(USE_DELAY_SLOT);
|
| __ mov(v0, t0);
|
| - __ Ret();
|
|
|
| __ bind(&miss_force_generic);
|
| Handle<Code> stub =
|
|
|