| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index fb8501039497a984572c1bf2894ce679f3fbbb20..7ea71e47eb059b1cf788c2970eddc211e00a5a02 100644
|
| --- a/src/ia32/code-stubs-ia32.cc
|
| +++ b/src/ia32/code-stubs-ia32.cc
|
| @@ -5748,6 +5748,13 @@ void StringAddStub::Generate(MacroAssembler* masm) {
|
| // edi: second instance type.
|
| __ test(ecx, Immediate(kAsciiDataHintMask));
|
| __ j(not_zero, &ascii_data);
|
| + __ mov(ecx, FieldOperand(eax, HeapObject::kMapOffset));
|
| + __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset));
|
| + __ xor_(edi, ecx);
|
| + STATIC_ASSERT(kOneByteStringTag != 0 && kAsciiDataHintTag != 0);
|
| + __ and_(edi, kOneByteStringTag | kAsciiDataHintTag);
|
| + __ cmp(edi, kOneByteStringTag | kAsciiDataHintTag);
|
| + __ j(equal, &ascii_data);
|
| // Allocate a two byte cons string.
|
| __ AllocateTwoByteConsString(ecx, edi, no_reg, &call_runtime);
|
| __ jmp(&allocated);
|
|
|