| Index: src/x87/code-stubs-x87.cc
|
| diff --git a/src/x87/code-stubs-x87.cc b/src/x87/code-stubs-x87.cc
|
| index 3ec5ee50ecd73529098f0597726a65202d0b3e70..e6f50f1cca7542d34c91532c834bd8f23c33ba6e 100644
|
| --- a/src/x87/code-stubs-x87.cc
|
| +++ b/src/x87/code-stubs-x87.cc
|
| @@ -2925,13 +2925,20 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
|
|
| // Handle more complex cases in runtime.
|
| __ bind(&runtime);
|
| - __ pop(tmp1); // Return address.
|
| - __ push(left);
|
| - __ push(right);
|
| - __ push(tmp1);
|
| if (equality) {
|
| - __ TailCallRuntime(Runtime::kStringEquals);
|
| + {
|
| + FrameScope scope(masm, StackFrame::INTERNAL);
|
| + __ Push(left);
|
| + __ Push(right);
|
| + __ CallRuntime(Runtime::kStringEqual);
|
| + }
|
| + __ sub(eax, Immediate(masm->isolate()->factory()->true_value()));
|
| + __ Ret();
|
| } else {
|
| + __ pop(tmp1); // Return address.
|
| + __ push(left);
|
| + __ push(right);
|
| + __ push(tmp1);
|
| __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
|
|