Class PlatformTriple
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
toto
.
- 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.