| Index: src/ia32/macro-assembler-ia32.cc | 
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc | 
| index 26d0f92d262658654cb4e50063ce6d33e1468d0e..6d4bff61599f2c8e733fe4dd138d8751c9d6a51e 100644 | 
| --- a/src/ia32/macro-assembler-ia32.cc | 
| +++ b/src/ia32/macro-assembler-ia32.cc | 
| @@ -2638,15 +2638,17 @@ void MacroAssembler::JumpIfNotBothSequentialAsciiStrings(Register object1, | 
| movzx_b(scratch2, FieldOperand(scratch2, Map::kInstanceTypeOffset)); | 
|  | 
| // Check that both are flat ASCII strings. | 
| -  const int kFlatAsciiStringMask = | 
| -      kIsNotStringMask | kStringRepresentationMask | kStringEncodingMask; | 
| +  const int kFlatAsciiStringMask = kIsNotStringMask | kStringRepresentationMask | 
| +          | kStringEncodingMask | kAsciiDataHintTag; | 
| const int kFlatAsciiStringTag = ASCII_STRING_TYPE; | 
| // Interleave bits from both instance types and compare them in one check. | 
| -  ASSERT_EQ(0, kFlatAsciiStringMask & (kFlatAsciiStringMask << 3)); | 
| +  ASSERT_EQ(0, kFlatAsciiStringMask & (kFlatAsciiStringMask << 8)); | 
| +  ASSERT_EQ(ASCII_STRING_TYPE, ASCII_STRING_TYPE & kFlatAsciiStringMask); | 
| and_(scratch1, kFlatAsciiStringMask); | 
| and_(scratch2, kFlatAsciiStringMask); | 
| -  lea(scratch1, Operand(scratch1, scratch2, times_8, 0)); | 
| -  cmp(scratch1, kFlatAsciiStringTag | (kFlatAsciiStringTag << 3)); | 
| +  shl(scratch1, 8); | 
| +  or_(scratch1, scratch2); | 
| +  cmp(scratch1, kFlatAsciiStringTag | (kFlatAsciiStringTag << 8)); | 
| j(not_equal, failure); | 
| } | 
|  | 
|  |