| Index: src/ia32/code-stubs-ia32.cc | 
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc | 
| index 79f75fadf21d1a982e55502bd87c01f649e4edce..bac3c1e0df21a624b99affa2b1cbb94fbc0652b3 100644 | 
| --- a/src/ia32/code-stubs-ia32.cc | 
| +++ b/src/ia32/code-stubs-ia32.cc | 
| @@ -3232,13 +3232,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); | 
| } | 
|  | 
|  |