2 instantiations of PgoSchemaElem
ILCompiler.ReadyToRun (2)
Compiler\ProfileDataManager.cs (2)
228
new
PgoSchemaElem
237
new
PgoSchemaElem
53 references to PgoSchemaElem
ILCompiler.ReadyToRun (53)
Compiler\DependencyAnalysis\ReadyToRun\InstrumentationDataTableNode.cs (3)
194
PgoSchemaElem
[] schema = _profileDataManager[md].SchemaData;
219
PgoSchemaElem
[] schema = _profileDataManager[method].SchemaData;
256
PgoSchemaElem
[] schema = _profileDataManager[method].SchemaData;
Compiler\ProfileData.cs (5)
37
public MethodProfileData(MethodDesc method, MethodProfilingDataFlags flags, double exclusiveWeight, Dictionary<MethodDesc, int> callWeights, uint scenarioMask,
PgoSchemaElem
[] schemaData)
54
public readonly
PgoSchemaElem
[] SchemaData;
67
PgoSchemaElem
[][] schemaElemMergerArray = new
PgoSchemaElem
[2][];
95
PgoSchemaElem
[] mergedSchemaData;
Compiler\ProfileDataManager.cs (2)
176
private
PgoSchemaElem
[] SynthesizeSchema(Compilation comp, MethodDesc method)
187
List<
PgoSchemaElem
> elems = new();
IBC\MIbcProfileParser.cs (1)
373
PgoSchemaElem
[] pgoSchemaData = null;
parent\parent\Common\JitInterface\CorInfoImpl.cs (10)
214
public static IEnumerable<
PgoSchemaElem
> ConvertTypeHandleHistogramsToCompactTypeHistogramFormat(
PgoSchemaElem
[] pgoData, CompilationModuleGroup compilationModuleGroup)
217
foreach (
var
elem in pgoData)
229
foreach (
var
elem in pgoData)
252
PgoSchemaElem
? newElem = ComputeLikelyClassMethod(i, handleToObject, nativeSchema, instrumentationData, compilationModuleGroup);
277
private static
PgoSchemaElem
? ComputeLikelyClassMethod(int index, Dictionary<IntPtr, object> handleToObject, PgoInstrumentationSchema[] nativeSchema, byte[] instrumentationData, CompilationModuleGroup compilationModuleGroup)
328
PgoSchemaElem
likelyClassElem = default(
PgoSchemaElem
);
4943
public static void ComputeJitPgoInstrumentationSchema(Func<object, IntPtr> objectToHandle,
PgoSchemaElem
[] pgoResultsSchemas, out PgoInstrumentationSchema[] nativeSchemas, MemoryStream instrumentationData, Func<TypeDesc, bool> typeFilter = null)
5019
PgoSchemaElem
[] pgoResultsSchemas = _compilation.ProfileData.GetAllowSynthesis(_compilation, methodDesc, out bool isSynthesized)?.SchemaData;
parent\parent\Common\Pgo\PgoFormat.cs (32)
234
public static IEnumerable<
PgoSchemaElem
> ParsePgoData<TType, TMethod>(IPgoSchemaDataLoader<TType, TMethod> dataProvider, IEnumerable<long> inputDataStream, bool longsAreCompressed)
237
PgoSchemaElem
curSchema = default(
PgoSchemaElem
);
390
public static void EncodePgoData<TType, TMethod>(IEnumerable<
PgoSchemaElem
> schemas, IPgoEncodedValueEmitter<TType, TMethod> valueEmitter, bool emitAllElementsUnconditionally)
392
PgoSchemaElem
prevSchema = default(
PgoSchemaElem
);
397
foreach (
PgoSchemaElem
schema in schemas)
508
private sealed class PgoSchemaMergeComparer : IComparer<
PgoSchemaElem
>, IEqualityComparer<
PgoSchemaElem
>
512
public int Compare(
PgoSchemaElem
x,
PgoSchemaElem
y)
535
public bool Equals(
PgoSchemaElem
x,
PgoSchemaElem
y)
537
int IEqualityComparer<
PgoSchemaElem
>.GetHashCode(
PgoSchemaElem
obj) => obj.ILOffset ^ ((int)(obj.InstrumentationKind & PgoInstrumentationKind.DescriptorMask) << 20);
540
public static
PgoSchemaElem
[] Merge<TType, TMethod>(ReadOnlySpan<
PgoSchemaElem
[]> schemasToMerge)
545
Dictionary<
PgoSchemaElem
,
PgoSchemaElem
> dataMerger = new Dictionary<
PgoSchemaElem
,
PgoSchemaElem
>(PgoSchemaMergeComparer.Singleton);
547
foreach (
PgoSchemaElem
[] schemaSet in schemasToMerge)
551
foreach (
PgoSchemaElem
schema in schemaSet)
560
PgoSchemaElem
oneRunSchema = default(
PgoSchemaElem
);
569
PgoSchemaElem
[] result = new
PgoSchemaElem
[dataMerger.Count];
575
static void MergeInSchemaElem(Dictionary<
PgoSchemaElem
,
PgoSchemaElem
> dataMerger,
PgoSchemaElem
schema)
577
if (dataMerger.TryGetValue(schema, out
var
existingSchemaItem))
580
PgoSchemaElem
mergedElem = existingSchemaItem;