| Index: src/arm/code-stubs-arm.cc
|
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc
|
| index 9e8364feca34c4593ceffaa63d039f1092623c71..7be35447ce3132366d7669ebf3a43d09afa9e66b 100644
|
| --- a/src/arm/code-stubs-arm.cc
|
| +++ b/src/arm/code-stubs-arm.cc
|
| @@ -3179,10 +3179,17 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
|
|
| // Handle more complex cases in runtime.
|
| __ bind(&runtime);
|
| - __ Push(left, right);
|
| if (equality) {
|
| - __ TailCallRuntime(Runtime::kStringEquals);
|
| + {
|
| + FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
|
| + __ Push(left, right);
|
| + __ CallRuntime(Runtime::kStringEqual);
|
| + }
|
| + __ LoadRoot(r1, Heap::kTrueValueRootIndex);
|
| + __ sub(r0, r0, r1);
|
| + __ Ret();
|
| } else {
|
| + __ Push(left, right);
|
| __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
|
|