Table of Contents

Class PlatformTriple

Namespace
MonoMod.Core.Platforms
Assembly
MonoMod.Core.dll
A triple of IArchitecture, ISystem, and IRuntime which provides higher-level operations based on the underlying implementations.
public sealed class PlatformTriple
Inheritance
PlatformTriple

Constructors

PlatformTriple(IArchitecture, ISystem, IRuntime)
Constructs a PlatformTriple with the provided IArchitecture, ISystem, and IRuntime.

Properties

Abi
Gets the ABI for this PlatformTriple.
Architecture
Gets the IArchitecture for this PlatformTriple.
Current
Gets the current PlatformTriple.
HostTriple
Gets the triple of ArchitectureKind, OSKind, and RuntimeKind represented by this PlatformTriple.
Runtime
Gets the IRuntime for this PlatformTriple.
SupportedFeatures
Gets the supported features of this PlatformTriple.
System
Gets the ISystem for this PlatformTriple.

Methods

Compile(MethodBase)
Prepares method by calling PrepareMethod(RuntimeMethodHandle).
CreateCurrentArchitecture(ISystem)
Creates an IArchitecture implementation using the provided ISystem according to the architecture detected by Architecture.
CreateCurrentRuntime(ISystem, IArchitecture)
Creates an IRuntime implementation using the provided ISystem and IArchitecture according to the runtime detected by Runtime.
CreateCurrentSystem()
Creates an ISystem implementation according to the operating system detected by OS.
CreateNativeDetour(nint, nint, int, nint)
Creates a PlatformTriple.NativeDetour. This is basically identical to CreateSimpleDetour(nint, nint, int, nint), except that it generates an alternate entrypoint for from.
CreateSimpleDetour(nint, nint, int, nint)
Creates and applies a SimpleNativeDetour from one address to another.
GetIdentifiable(MethodBase)
Gets an "identifiable" MethodBase for a method, which has object identity.
GetNativeMethodBody(MethodBase)
Gets the native method body for a method.
GetRealDetourTarget(MethodBase, MethodBase)
Gets the 'real detour target' when detouring from to to.
PinMethodIfNeeded(MethodBase)
Pins a method if that is required by the runtime.
SetPlatformTriple(PlatformTriple)
Sets the current PlatformTriple.
TryDisableInlining(MethodBase)
Tries to disable inlining of the provided method, if the underlying runtime supports it.