| Index: src/arm64/code-stubs-arm64.cc
|
| diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc
|
| index 32250a861159880509ba61a7a5aade5f8f49a79d..147881f7cf9fabeff5e4d0c8873c0ff6f4391341 100644
|
| --- a/src/arm64/code-stubs-arm64.cc
|
| +++ b/src/arm64/code-stubs-arm64.cc
|
| @@ -2868,10 +2868,17 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
|
|
| // Handle more complex cases in runtime.
|
| __ Bind(&runtime);
|
| - __ Push(lhs, rhs);
|
| if (equality) {
|
| - __ TailCallRuntime(Runtime::kStringEquals);
|
| + {
|
| + FrameScope scope(masm, StackFrame::INTERNAL);
|
| + __ Push(lhs, rhs);
|
| + __ CallRuntime(Runtime::kStringEqual);
|
| + }
|
| + __ LoadRoot(x1, Heap::kTrueValueRootIndex);
|
| + __ Sub(x0, x0, x1);
|
| + __ Ret();
|
| } else {
|
| + __ Push(lhs, rhs);
|
| __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
|
|