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)); |