public static void SetFieldUsingIC(DObject obj, int fieldId, ref DValue v, int mapId, int fieldIndex) { #if __STAT__PD if (mdr.Runtime.Instance.Configuration.ProfileStats) { mdr.Runtime.Instance.Counters.GetCounter("Set IC calls").Count++; } #endif if (mapId == obj.MapId) { obj.Fields[fieldIndex].Set(ref v); // obj.SetFieldByFieldId(fieldId, ref v); #if __STAT__PD if (mdr.Runtime.Instance.Configuration.ProfileStats) { mdr.Runtime.Instance.Counters.GetCounter("Set IC hit").Count++; mdr.Runtime.Instance.Counters.GetCounter("Set IC hit findex_" + fieldIndex).Count++; } #endif } else { obj.SetFieldByFieldId(fieldId, ref v); #if __STAT__PD if (mdr.Runtime.Instance.Configuration.ProfileStats) { mdr.Runtime.Instance.Counters.GetCounter("Set IC miss").Count++; } #endif } }
public static void SetFieldUsingIC(DObject obj, int fieldId, DObject v, int mapId, int fieldIndex) { if (mapId == obj.MapId) { obj.Fields[fieldIndex].Set(v); } else { obj.SetFieldByFieldId(fieldId, v); } }