Chromium Code Reviews| Index: src/arm/macro-assembler-arm.cc |
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc |
| index 8416926b46adaccce279e32ab64dd7ad85f2677c..ee4b7fa73aab0d651c31f0aa1caf5f2b1d477265 100644 |
| --- a/src/arm/macro-assembler-arm.cc |
| +++ b/src/arm/macro-assembler-arm.cc |
| @@ -3262,7 +3262,11 @@ void MacroAssembler::JumpIfBothInstanceTypesAreNotSequentialAscii( |
| Label* failure) { |
| int kFlatAsciiStringMask = |
| kIsNotStringMask | kStringEncodingMask | kStringRepresentationMask; |
| - int kFlatAsciiStringTag = ASCII_STRING_TYPE; |
| + // Use ASCII_INTERNALIZED_STRING_TYPE because it's internalized bit is zero. |
| + // Since we don't include that bit in the mask above, the test below will |
| + // succeed for ASCII_STRING_TYPE and ASCII_INTERNALIZED_STRING_TYPE. |
| + STATIC_ASSERT(kInternalizedTag == 0); |
| + const int kFlatAsciiStringTag = ASCII_INTERNALIZED_STRING_TYPE; |
|
Yang
2013/07/22 09:09:46
I actually prefer not to use the defined instance
mvstanton
2013/07/22 09:40:17
Done.
|
| and_(scratch1, first, Operand(kFlatAsciiStringMask)); |
| and_(scratch2, second, Operand(kFlatAsciiStringMask)); |
| cmp(scratch1, Operand(kFlatAsciiStringTag)); |