| Index: src/ia32/code-stubs-ia32.cc
|
| ===================================================================
|
| --- src/ia32/code-stubs-ia32.cc (revision 5415)
|
| +++ src/ia32/code-stubs-ia32.cc (working copy)
|
| @@ -1044,12 +1044,13 @@
|
| StringAddStub string_add_left_stub(NO_STRING_CHECK_LEFT_IN_STUB);
|
| __ TailCallStub(&string_add_left_stub);
|
|
|
| + Label call_runtime_with_args;
|
| // Left operand is not a string, test right.
|
| __ bind(&lhs_not_string);
|
| __ test(rhs, Immediate(kSmiTagMask));
|
| - __ j(zero, &call_runtime);
|
| + __ j(zero, &call_runtime_with_args);
|
| __ CmpObjectType(rhs, FIRST_NONSTRING_TYPE, ecx);
|
| - __ j(above_equal, &call_runtime);
|
| + __ j(above_equal, &call_runtime_with_args);
|
|
|
| StringAddStub string_add_right_stub(NO_STRING_CHECK_RIGHT_IN_STUB);
|
| __ TailCallStub(&string_add_right_stub);
|
| @@ -1059,6 +1060,7 @@
|
| if (HasArgsInRegisters()) {
|
| GenerateRegisterArgsPush(masm);
|
| }
|
| + __ bind(&call_runtime_with_args);
|
| __ InvokeBuiltin(Builtins::ADD, JUMP_FUNCTION);
|
| break;
|
| }
|
|
|