Skip to content

MethodCorrelation

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

One pre-ILC managed method joined to its native evidence: the symbols that carry its compiled code and the mstat rows that carry its sizes.

public sealed record MethodCorrelation : IEquatable<MethodCorrelation>

ObjectMethodCorrelation

MethodCorrelation(string, MethodDefInfo, MethodCorrelationStatus, IReadOnlyList<NativeSymbol>, IReadOnlyList<MstatMethod>)

Section titled “MethodCorrelation(string, MethodDefInfo, MethodCorrelationStatus, IReadOnlyList<NativeSymbol>, IReadOnlyList<MstatMethod>)”

One pre-ILC managed method joined to its native evidence: the symbols that carry its compiled code and the mstat rows that carry its sizes.

Parameters:

  • AssemblyName (String): The simple name of the assembly the method is defined in.
  • Method (MethodDefInfo): The managed method definition.
  • Status (MethodCorrelationStatus): How the method relates to the native image.
  • NativeSymbols (IReadOnlyList<NativeSymbol>): The joined native symbols — owned when exact (several mean generic instantiations), the shared candidate pool when ambiguous.
  • MstatMethods (IReadOnlyList<MstatMethod>): The joined mstat rows, empty when no mstat sidecar was available.
public MethodCorrelation(string AssemblyName, MethodDefInfo Method, MethodCorrelationStatus Status, IReadOnlyList<NativeSymbol> NativeSymbols, IReadOnlyList<MstatMethod> MstatMethods)

The simple name of the assembly the method is defined in.

Returns: String

public string AssemblyName { get; init; }

The managed method definition.

Returns: MethodDefInfo

public MethodDefInfo Method { get; init; }

The joined mstat rows, empty when no mstat sidecar was available.

Returns: IReadOnlyList<MstatMethod>

public IReadOnlyList<MstatMethod> MstatMethods { get; init; }

The native size in bytes this method owns outright — mstat sizes preferred, symbol sizes otherwise. Zero when the evidence is shared with overloads: shared bytes are never attributed to any single candidate.

Returns: Int64

public long NativeSize { get; init; }

The joined native symbols — owned when exact (several mean generic instantiations), the shared candidate pool when ambiguous.

Returns: IReadOnlyList<NativeSymbol>

public IReadOnlyList<NativeSymbol> NativeSymbols { get; init; }

The size of the shared evidence pool this method is a candidate for, when Status reflects shared evidence. The same pool is reported on every sibling candidate; aggregate accounting counts it once.

Returns: Int64

public long SharedCandidateSize { get; init; }

How the method relates to the native image.

Returns: MethodCorrelationStatus

public MethodCorrelationStatus Status { get; init; }