| Index: src/ia32/macro-assembler-ia32.cc
|
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
|
| index d93552b2a9d50eabd5a4760ea6109c91bcc7f9e5..008f7b93b8f4960d42351f204af5792d2ee34f7e 100644
|
| --- a/src/ia32/macro-assembler-ia32.cc
|
| +++ b/src/ia32/macro-assembler-ia32.cc
|
| @@ -2566,13 +2566,11 @@
|
| const int kFlatOneByteStringTag =
|
| kStringTag | kOneByteStringTag | kSeqStringTag;
|
| // Interleave bits from both instance types and compare them in one check.
|
| - const int kShift = 8;
|
| - DCHECK_EQ(0, kFlatOneByteStringMask & (kFlatOneByteStringMask << kShift));
|
| + DCHECK_EQ(0, kFlatOneByteStringMask & (kFlatOneByteStringMask << 3));
|
| and_(scratch1, kFlatOneByteStringMask);
|
| and_(scratch2, kFlatOneByteStringMask);
|
| - shl(scratch2, kShift);
|
| - or_(scratch1, scratch2);
|
| - cmp(scratch1, kFlatOneByteStringTag | (kFlatOneByteStringTag << kShift));
|
| + lea(scratch1, Operand(scratch1, scratch2, times_8, 0));
|
| + cmp(scratch1, kFlatOneByteStringTag | (kFlatOneByteStringTag << 3));
|
| j(not_equal, failure);
|
| }
|
|
|
|
|