Skip to content

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 ReadyToRunIndex

ObjectReadyToRunIndex

The number of generic-instantiation entries.

Returns: Int32

public int InstantiationCount { get; }

Every precompiled method entry (base methods and generic instantiations).

Returns: IReadOnlyList<ReadyToRunMethodEntry>

public IReadOnlyList<ReadyToRunMethodEntry> Methods { get; }

The total precompiled native code size across all methods.

Returns: Int64

public long TotalCodeSize { get; }

Build(IReadOnlyList<ReadyToRunMethodEntry>)

Section titled “Build(IReadOnlyList<ReadyToRunMethodEntry>)”

Builds the index from a ReadyToRun image’s method entries.

Parameters:

Returns: ReadyToRunIndex

public static ReadyToRunIndex Build(IReadOnlyList<ReadyToRunMethodEntry> methods)

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)

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)

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)