Skip to content

ReadyToRunCodeRange

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

One contiguous block of a precompiled ReadyToRun method’s native code, derived from a single runtime function. A method body is not one slice: it is the ordered list of these ranges (hot entry, funclets, cold), each of which is disassembled, sized, and navigated on its own.

public sealed record ReadyToRunCodeRange : IEquatable<ReadyToRunCodeRange>

ObjectReadyToRunCodeRange

ReadyToRunCodeRange(ReadyToRunCodeRangeKind, int, long, ulong, int?)

Section titled “ReadyToRunCodeRange(ReadyToRunCodeRangeKind, int, long, ulong, int?)”

One contiguous block of a precompiled ReadyToRun method’s native code, derived from a single runtime function. A method body is not one slice: it is the ordered list of these ranges (hot entry, funclets, cold), each of which is disassembled, sized, and navigated on its own.

Parameters:

  • Kind (ReadyToRunCodeRangeKind): Whether this range is the hot entry, a funclet, or the cold range.
  • StartRva (Int32): The range’s relative virtual address (machine-specific fixups already applied).
  • Size (Int64): The range size in bytes.
  • VirtualAddress (UInt64): The range’s absolute virtual address (image base + StartRva) in its code image.
  • FileOffset (Nullable<Int32>): The file offset of the range within its code image, or null when not file-backed.
public ReadyToRunCodeRange(ReadyToRunCodeRangeKind Kind, int StartRva, long Size, ulong VirtualAddress, int? FileOffset)

The file offset of the range within its code image, or null when not file-backed.

Returns: Nullable<Int32>

public int? FileOffset { get; init; }

Whether this range is the hot entry, a funclet, or the cold range.

Returns: ReadyToRunCodeRangeKind

public ReadyToRunCodeRangeKind Kind { get; init; }

The range size in bytes.

Returns: Int64

public long Size { get; init; }

The range’s relative virtual address (machine-specific fixups already applied).

Returns: Int32

public int StartRva { get; init; }

The range’s absolute virtual address (image base + StartRva) in its code image.

Returns: UInt64

public ulong VirtualAddress { get; init; }

Deconstruct(out ReadyToRunCodeRangeKind, out int, out long, out ulong, out int?)

Section titled “Deconstruct(out ReadyToRunCodeRangeKind, out int, out long, out ulong, out int?)”

Parameters:

public void Deconstruct(out ReadyToRunCodeRangeKind Kind, out int StartRva, out long Size, out ulong VirtualAddress, out int? FileOffset)

Parameters:

Returns: Boolean

public override bool Equals(object? obj)

Parameters:

Returns: Boolean

public bool Equals(ReadyToRunCodeRange? other)

Returns: Int32

public override int GetHashCode()

Returns: String

public override string ToString()

operator !=(ReadyToRunCodeRange?, ReadyToRunCodeRange?)

Section titled “operator !=(ReadyToRunCodeRange?, ReadyToRunCodeRange?)”

Parameters:

Returns: Boolean

public static bool operator !=(ReadyToRunCodeRange? left, ReadyToRunCodeRange? right)

operator ==(ReadyToRunCodeRange?, ReadyToRunCodeRange?)

Section titled “operator ==(ReadyToRunCodeRange?, ReadyToRunCodeRange?)”

Parameters:

Returns: Boolean

public static bool operator ==(ReadyToRunCodeRange? left, ReadyToRunCodeRange? right)