ReadyToRunIndex
Namespace: Dotsider.Core.Analysis
Assembly: Dotsider.Core.dll
Queryable view of a ReadyToRun image’s precompiled methods: managed-method lookup by owning assembly identity and token, and reverse lookup by native address over the methods’ disjoint code ranges. The token is qualified by assembly name because a composite spans several assemblies whose tokens collide. Built once, every lookup a dictionary or binary-search hit.
public sealed class ReadyToRunIndexInheritance
Section titled “Inheritance”Object → ReadyToRunIndex
Properties
Section titled “Properties”InstantiationCount
Section titled “InstantiationCount”The number of generic-instantiation entries.
Returns: Int32
public int InstantiationCount { get; }Methods
Section titled “Methods”Every precompiled method entry (base methods and generic instantiations).
Returns: IReadOnlyList<ReadyToRunMethodEntry>
public IReadOnlyList<ReadyToRunMethodEntry> Methods { get; }TotalCodeSize
Section titled “TotalCodeSize”The total precompiled native code size across all methods.
Returns: Int64
public long TotalCodeSize { get; }Methods
Section titled “Methods”Build(IReadOnlyList<ReadyToRunMethodEntry>)
Section titled “Build(IReadOnlyList<ReadyToRunMethodEntry>)”Builds the index from a ReadyToRun image’s method entries.
Parameters:
methods(IReadOnlyList<ReadyToRunMethodEntry>): The precompiled method entries.
Returns: ReadyToRunIndex
public static ReadyToRunIndex Build(IReadOnlyList<ReadyToRunMethodEntry> methods)Find(string, int)
Section titled “Find(string, int)”Finds a method’s primary (non-generic) entry by owning assembly name and token, or the first entry when only instantiations exist.
Parameters:
assemblyName(String): The owning assembly’s simple name.token(Int32): The method’s metadata token.
Returns: ReadyToRunMethodEntry
public ReadyToRunMethodEntry? Find(string assemblyName, int token)FindAll(string, int)
Section titled “FindAll(string, int)”Every entry for a token — the base method plus any generic instantiations.
Parameters:
assemblyName(String): The owning assembly’s simple name.token(Int32): The method’s metadata token.
Returns: IReadOnlyList<ReadyToRunMethodEntry>
public IReadOnlyList<ReadyToRunMethodEntry> FindAll(string assemblyName, int token)FindByAddress(ulong)
Section titled “FindByAddress(ulong)”Finds the method whose native code covers virtualAddress — an address anywhere inside any of its ranges — or null for uncorrelated (helper/stub) code.
Parameters:
virtualAddress(UInt64): A virtual address, e.g. a call target.
Returns: ReadyToRunMethodEntry
public ReadyToRunMethodEntry? FindByAddress(ulong virtualAddress)