1011 {
1012 if (obj->IsClass()) {
1014 const classid_t old_cid = cls->untag()->id_;
1016
1017 return;
1018 }
1019 cls->untag()->id_ =
Map(old_cid);
1020 cls->untag()->implementor_cid_ =
Map(cls->untag()->implementor_cid_);
1021 } else if (obj->IsField()) {
1023 field->untag()->guarded_cid_ =
Map(field->untag()->guarded_cid_);
1024 field->untag()->is_nullable_ =
Map(field->untag()->is_nullable_);
1025 } else if (obj->IsTypeParameter()) {
1028 param->untag()->flags())) {
1029 param->untag()->set_owner(
1031 }
1032 } else if (obj->IsType()) {
1034 type->untag()->set_type_class_id(
Map(
type->untag()->type_class_id()));
1035 } else {
1036 intptr_t old_cid = obj->GetClassId();
1037 intptr_t new_cid =
Map(old_cid);
1038 if (old_cid != new_cid) {
1039
1040
1041 obj->untag()->SetClassIdUnsynchronized(new_cid);
1042 }
1043 }
1044 }
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)