1034 {
1035 if (obj->IsClass()) {
1037 const classid_t old_cid = cls->untag()->id_;
1039
1040 return;
1041 }
1042 cls->untag()->id_ =
Map(old_cid);
1043 cls->untag()->implementor_cid_ =
Map(cls->untag()->implementor_cid_);
1044 } else if (obj->IsField()) {
1046 field->untag()->guarded_cid_ =
Map(field->untag()->guarded_cid_);
1047 field->untag()->is_nullable_ =
Map(field->untag()->is_nullable_);
1048 } else if (obj->IsTypeParameter()) {
1051 param->untag()->flags())) {
1052 param->untag()->set_owner(
1054 }
1055 } else if (obj->IsType()) {
1057 type->untag()->set_type_class_id(
Map(
type->untag()->type_class_id()));
1058 } else {
1059 intptr_t old_cid = obj->GetClassId();
1060 intptr_t new_cid =
Map(old_cid);
1061 if (old_cid != new_cid) {
1062
1063
1064 obj->untag()->SetClassIdUnsynchronized(new_cid);
1065 }
1066 }
1067 }
static constexpr T decode(S value)
intptr_t Map(intptr_t cid)
static bool IsTopLevelCid(intptr_t cid)
static ObjectPtr RawCast(ObjectPtr obj)
static SmiPtr New(intptr_t value)