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>Inheritance
Section titled “Inheritance”Object → ReadyToRunCodeRange
Implements
Section titled “Implements”Constructors
Section titled “Constructors”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)Properties
Section titled “Properties”FileOffset
Section titled “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; }StartRva
Section titled “StartRva”The range’s relative virtual address (machine-specific fixups already applied).
Returns: Int32
public int StartRva { get; init; }VirtualAddress
Section titled “VirtualAddress”The range’s absolute virtual address (image base + StartRva) in its code image.
Returns: UInt64
public ulong VirtualAddress { get; init; }Methods
Section titled “Methods”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:
Kind(ReadyToRunCodeRangeKind)StartRva(Int32)Size(Int64)VirtualAddress(UInt64)FileOffset(Nullable<Int32>)
public void Deconstruct(out ReadyToRunCodeRangeKind Kind, out int StartRva, out long Size, out ulong VirtualAddress, out int? FileOffset)Equals(object?)
Section titled “Equals(object?)”Parameters:
obj(Object)
Returns: Boolean
public override bool Equals(object? obj)Equals(ReadyToRunCodeRange?)
Section titled “Equals(ReadyToRunCodeRange?)”Parameters:
other(ReadyToRunCodeRange)
Returns: Boolean
public bool Equals(ReadyToRunCodeRange? other)GetHashCode()
Section titled “GetHashCode()”Returns: Int32
public override int GetHashCode()ToString()
Section titled “ToString()”Returns: String
public override string ToString()Members
Section titled “Members”operator !=(ReadyToRunCodeRange?, ReadyToRunCodeRange?)
Section titled “operator !=(ReadyToRunCodeRange?, ReadyToRunCodeRange?)”Parameters:
left(ReadyToRunCodeRange)right(ReadyToRunCodeRange)
Returns: Boolean
public static bool operator !=(ReadyToRunCodeRange? left, ReadyToRunCodeRange? right)operator ==(ReadyToRunCodeRange?, ReadyToRunCodeRange?)
Section titled “operator ==(ReadyToRunCodeRange?, ReadyToRunCodeRange?)”Parameters:
left(ReadyToRunCodeRange)right(ReadyToRunCodeRange)
Returns: Boolean
public static bool operator ==(ReadyToRunCodeRange? left, ReadyToRunCodeRange? right)