| Index: src/mips/code-stubs-mips.cc | 
| diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc | 
| index b64c399b7327bf1b666e1d4f5fbe44de7570d4df..6c4b134f50854e90ed87c5246e55808eea045a36 100644 | 
| --- a/src/mips/code-stubs-mips.cc | 
| +++ b/src/mips/code-stubs-mips.cc | 
| @@ -3358,10 +3358,17 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) { | 
|  | 
| // Handle more complex cases in runtime. | 
| __ bind(&runtime); | 
| -  __ Push(left, right); | 
| if (equality) { | 
| -    __ TailCallRuntime(Runtime::kStringEquals); | 
| +    { | 
| +      FrameScope scope(masm, StackFrame::INTERNAL); | 
| +      __ Push(left, right); | 
| +      __ CallRuntime(Runtime::kStringEqual); | 
| +    } | 
| +    __ LoadRoot(a0, Heap::kTrueValueRootIndex); | 
| +    __ Ret(USE_DELAY_SLOT); | 
| +    __ Subu(v0, v0, a0);  // In delay slot. | 
| } else { | 
| +    __ Push(left, right); | 
| __ TailCallRuntime(Runtime::kStringCompare); | 
| } | 
|  | 
|  |