| 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);
|
| }
|
|
|
|
|