Enum ReadyToRunFixupKind
- Namespace
- AsmResolver.PE.DotNet.ReadyToRun
- Assembly
- AsmResolver.PE.dll
Provides members describing all possible types of imported fixups in a ReadyToRun assembly.
public enum ReadyToRunFixupKind : byte
Fields
CctorTrigger = 33
Static constructor trigger, followed by TypeSpec signature
CheckFieldOffset = 43
Verification of field offset, followed by field signature and expected field layout descriptor
CheckILBody = 53
Check to see if an IL method is defined the same at runtime as at compile time. A failed match will cause code not to be used. SeeIL Body signatures for details.
CheckInstructionSetSupport = 48
Specify the instruction sets that must be supported/unsupported to use the R2R code associated with the fixup.
CheckTypeLayout = 42
Verification of type layout, followed by TypeSpec and expected type layout descriptor
CheckVirtualFunctionOverride = 51
Generate a runtime check to ensure that virtual function resolution has equivalent behavior at runtime as at compile time. If not equivalent, code will not be used. See Virtual override signatures for details of the signature used.
ChkCast = 31
ChkCast helper, followed by TypeSpec signature
DeclaringTypeHandle = 45
Dictionary lookup for method declaring type. Followed by the type signature.
DelegateCtor = 44
Delegate constructor, followed by method signature
FieldAddress = 32
Field address, followed by field signature
FieldBaseOffset = 38
Starting offset of fields for given type, followed by TypeSpec signature. Used to address base class fragility.
FieldHandle = 18
Pointer uniquely identifying the field to the runtime, followed by field signature (see below).
FieldOffset = 39
Field offset, followed by field signature
Helper = 26
Helper call, followed by helper call id (see chapter 4 Helper calls)
IndirectPInvokeTarget = 46
Target (indirect) of an inlined PInvoke. Followed by method signature.
IsInstanceOf = 30
IsInst helper, followed by TypeSpec signature
MethodDictionary = 41
Hidden dictionary argument for generic code, followed by method signature
MethodDictionaryLookup = 9
Generic method lookup; followed by the method spec signature.
MethodEntry = 19
Method entrypoint or call, followed by method signature.
MethodEntryDefToken = 20
Method entrypoint or call, followed by MethodDef token (shortcut).
MethodEntryRefToken = 21
Method entrypoint or call, followed by MethodRef token (shortcut).
MethodHandle = 17
Pointer uniquely identifying the method to the runtime, followed by method signature (see below).
ModuleOverride = 128
When or-ed to the fixup ID, the fixup byte in the signature is followed by an encoded uint with AssemblyRef index, either within the MSIL metadata of the master context module for the signature or within the manifest metadata R2R header table (used in cases inlining brings in references to assemblies not seen in the input MSIL).
NewArray = 29
New array helper, followed by TypeSpec signature
NewObject = 28
New object helper, followed by TypeSpec signature
PInvokeTarget = 47
Target of an inlined PInvoke. Followed by method signature.
StaticBaseGC = 35
GC static base, followed by TypeSpec signature
StaticBaseNonGC = 34
Non-GC static base, followed by TypeSpec signature
StringHandle = 27
String handle, followed by metadata string token
ThisObjDictionaryLookup = 7
Generic lookup using this; followed by the type signature and by the method signature.
ThreadStaticBaseGC = 37
GC thread-local static base, followed by TypeSpec signature
ThreadStaticBaseNonGC = 36
Non-GC thread-local static base, followed by TypeSpec signature
TypeDictionary = 40
Hidden dictionary argument for generic code, followed by TypeSpec signature
TypeDictionaryLookup = 8
Type-based generic lookup for methods on instantiated types; followed by the TypeSpec signature.
TypeHandle = 16
Pointer uniquely identifying the type to the runtime, followed by TypeSpec signature (see ECMA-335).
VerifyFieldOffset = 49
Generate a runtime check to ensure that the field offset matches between compile and runtime. Unlike CheckFieldOffset, this will generate a runtime exception on failure instead of silently dropping the method
VerifyILBody = 54
Verify an IL body is defined the same at compile time and runtime. A failed match will cause a hard runtime failure. SeeIL Body signatures for details.
VerifyTypeLayout = 50
Generate a runtime check to ensure that the field offset matches between compile and runtime. Unlike CheckFieldOffset, this will generate a runtime exception on failure instead of silently dropping the method
VerifyVirtualFunctionOverride = 52
Generate a runtime check to ensure that virtual function resolution has equivalent behavior at runtime as at compile time. If not equivalent, generate runtime failure. See Virtual override signatures for details of the signature used.
VirtualEntry = 22
Virtual method entrypoint or call, followed by method signature.
VirtualEntryDefToken = 23
Virtual method entrypoint or call, followed by MethodDef token (shortcut)
VirtualEntryRefToken = 24
Virtual method entrypoint or call, followed by MethodRef token (shortcut)
VirtualEntrySlot = 25
Virtual method entrypoint or call, followed by TypeSpec signature and slot