| Index: runtime/vm/assembler_arm.cc
|
| ===================================================================
|
| --- runtime/vm/assembler_arm.cc (revision 38317)
|
| +++ runtime/vm/assembler_arm.cc (working copy)
|
| @@ -1728,10 +1728,13 @@
|
|
|
|
|
| void Assembler::LoadTaggedClassIdMayBeSmi(Register result, Register object) {
|
| + static const intptr_t kSmiCidSource = kSmiCid << RawObject::kClassIdTagPos;
|
| +
|
| + LoadImmediate(TMP, reinterpret_cast<int32_t>(&kSmiCidSource) + 1);
|
| tst(object, Operand(kSmiTagMask));
|
| - LoadImmediate(result, Smi::RawValue(kSmiCid), EQ);
|
| - LoadClassId(result, object, NE);
|
| - SmiTag(result, NE);
|
| + mov(TMP, Operand(object), NE);
|
| + LoadClassId(result, TMP);
|
| + SmiTag(result);
|
| }
|
|
|
|
|
|
|