| Index: runtime/vm/intermediate_language_arm64.cc
|
| diff --git a/runtime/vm/intermediate_language_arm64.cc b/runtime/vm/intermediate_language_arm64.cc
|
| index 7ae62c03ef4991e398c4dca35528622f2d16feb9..75ff6acd69c2d3cf2bad9d0aecc2d05f75dd2e47 100644
|
| --- a/runtime/vm/intermediate_language_arm64.cc
|
| +++ b/runtime/vm/intermediate_language_arm64.cc
|
| @@ -945,14 +945,8 @@ LocationSummary* LoadClassIdInstr::MakeLocationSummary(Zone* zone,
|
| void LoadClassIdInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| const Register object = locs()->in(0).reg();
|
| const Register result = locs()->out(0).reg();
|
| - static const intptr_t kSmiCidSource =
|
| - static_cast<intptr_t>(kSmiCid) << RawObject::kClassIdTagPos;
|
|
|
| - __ LoadImmediate(TMP, reinterpret_cast<int64_t>(&kSmiCidSource) + 1);
|
| - __ tsti(object, Immediate(kSmiTagMask));
|
| - __ csel(TMP, TMP, object, EQ);
|
| - __ LoadClassId(result, TMP);
|
| - __ SmiTag(result);
|
| + __ LoadTaggedClassIdMayBeSmi(result, object);
|
| }
|
|
|
|
|
|
|