Created
May 8, 2021 00:00
-
-
Save trylek/436f16484e7e4756308bed1aea0dae30 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
======================== R2R Header ========================= | |
Signature: 0x00525452 (RTR) | |
RelativeVirtualAddress: 0x00002548 | |
Size: 124 bytes | |
MajorVersion: 0x0005 | |
MinorVersion: 0x0003 | |
Flags: 0x00000003 | |
- READYTORUN_FLAG_PlatformNeutralSource | |
- READYTORUN_FLAG_SkipTypeValidation | |
======================= R2R Sections ======================== | |
9 sections | |
_______________________________________________ | |
Type: CompilerIdentifier (100) | |
Size: 23 bytes | |
CoreCLR 42.42.42.42424 | |
_______________________________________________ | |
Type: ImportSections (101) | |
Size: 120 bytes | |
"Failed to verify type of Fld1 in: " (STRING_HANDLE) | |
"string" (STRING_HANDLE) | |
"Test Failed at location: " (STRING_HANDLE) | |
"Test Failed" (STRING_HANDLE) | |
"Test Passed" (STRING_HANDLE) | |
bool Gen`1<double>.InstVerify(System.Type) (METHOD_ENTRY) -- I(48) R(50) | |
bool Gen`1<int>.InstVerify(System.Type) (METHOD_ENTRY) -- I(48) R(50) | |
bool Gen`1<System.Guid>.InstVerify(System.Type) (METHOD_ENTRY) -- I(48) R(50) | |
bool System.Type.Equals(System.Type) (VIRTUAL_ENTRY) -- R(48 50) | |
CHECKED_WRITE_BARRIER (HELPER) | |
DELAYLOAD_HELPER (HELPER) | |
DELAYLOAD_METHODCALL (HELPER) | |
double (TYPE_HANDLE) | |
Gen`1<double> (NEW_OBJECT) | |
Gen`1<double> (TYPE_HANDLE) | |
Gen`1<int[]> (NEW_OBJECT) | |
Gen`1<int[]> (TYPE_HANDLE) | |
Gen`1<int> (NEW_OBJECT) | |
Gen`1<int> (TYPE_HANDLE) | |
Gen`1<object[][]> (NEW_OBJECT) | |
Gen`1<object[][]> (TYPE_HANDLE) | |
Gen`1<object> (NEW_OBJECT) | |
Gen`1<object> (TYPE_HANDLE) | |
Gen`1<RefX1`1<int>> (NEW_OBJECT) | |
Gen`1<RefX1`1<int>> (TYPE_HANDLE) | |
Gen`1<string[...,...]> (NEW_OBJECT) | |
Gen`1<string[...,...]> (TYPE_HANDLE) | |
Gen`1<string> (NEW_OBJECT) | |
Gen`1<string> (TYPE_HANDLE) | |
Gen`1<System.Guid> (NEW_OBJECT) | |
Gen`1<System.Guid> (TYPE_HANDLE) | |
Gen`1<ValX1`1<string>> (NEW_OBJECT) | |
Gen`1<ValX1`1<string>> (TYPE_HANDLE) | |
GET_RUNTIME_TYPE_HANDLE (HELPER) | |
int (TYPE_HANDLE) | |
int[] (NEW_ARRAY) | |
int[] (TYPE_HANDLE) | |
MODULE (HELPER) | |
NEW_MULTI_DIM_ARR (HELPER) | |
object (NEW_OBJECT) | |
object (TYPE_HANDLE) | |
object[][] (NEW_ARRAY) | |
object[][] (TYPE_HANDLE) | |
Outer+IGen`1<double> (TYPE_HANDLE) | |
Outer+IGen`1<int[]> #0 (VIRTUAL_ENTRY_SLOT) -- R(48 50) | |
Outer+IGen`1<int> (TYPE_HANDLE) | |
Outer+IGen`1<object[][]> #0 (VIRTUAL_ENTRY_SLOT) -- R(48 50) | |
Outer+IGen`1<object> #0 (VIRTUAL_ENTRY_SLOT) -- R(48 50) | |
Outer+IGen`1<RefX1`1<int>> #0 (VIRTUAL_ENTRY_SLOT) -- R(48 50) | |
Outer+IGen`1<string[...,...]> #0 (VIRTUAL_ENTRY_SLOT) -- R(48 50) | |
Outer+IGen`1<string> #0 (VIRTUAL_ENTRY_SLOT) -- R(48 50) | |
Outer+IGen`1<ValX1`1<string>> #0 (VIRTUAL_ENTRY_SLOT) -- R(48 50) | |
PERSONALITY_ROUTINE (HELPER) | |
RefX1`1<int> (NEW_OBJECT) | |
RefX1`1<int> (TYPE_HANDLE) | |
string (TYPE_HANDLE) | |
string System.Int32.ToString() (METHOD_ENTRY) -- I(48) | |
string System.Object.ToString() (VIRTUAL_ENTRY) -- R(48) | |
string System.String.Concat(string, string) (METHOD_ENTRY) -- R(48 50) | |
string[...,...] (TYPE_HANDLE) | |
System.Guid (TYPE_HANDLE) | |
System.Type System.Object.GetType() (METHOD_ENTRY) -- R(48) | |
Test (STATIC_BASE_NON_GC) | |
TYPE_DICTIONARY_LOOKUP: Outer+IGen`1<var #0> (TYPE_HANDLE) | |
ValX1`1<string> (TYPE_HANDLE) | |
void System.Console.WriteLine(string) (METHOD_ENTRY) -- R(48) | |
void Test.Eval(bool) (METHOD_ENTRY) | |
WRITE_BARRIER (HELPER) | |
_______________________________________________ | |
Type: RuntimeFunctions (102) | |
Size: 264 bytes | |
Index | StartRVA | EndRVA | UnwindRVA | |
----------------------------------------- | |
0 | 000036C0 | 000036c1 | 00003E04 | |
1 | 000036D0 | 000036d1 | 00003E04 | |
2 | 000036E0 | 000036e1 | 00003E04 | |
3 | 000036F0 | 000036f1 | 00003E04 | |
4 | 00003700 | 00003701 | 00003E04 | |
5 | 00003710 | 00003711 | 00003E04 | |
6 | 00003720 | 00003721 | 00003E04 | |
7 | 00003730 | 00003731 | 00003E04 | |
8 | 00003740 | 00003741 | 00003E04 | |
9 | 00003750 | 0000375b | 00003E10 | |
10 | 00003760 | 000037ef | 00003E1C | |
11 | 000037F0 | 0000383c | 00003E40 | |
12 | 00003840 | 00003b3c | 00003E54 | |
13 | 00003B40 | 00003b41 | 00003E04 | |
14 | 00003B50 | 00003b68 | 00003EB4 | |
15 | 00003B70 | 00003b77 | 00003EC4 | |
16 | 00003B80 | 00003b85 | 00003ED0 | |
17 | 00003B90 | 00003c14 | 00003EDC | |
18 | 00003C20 | 00003c23 | 00003EF8 | |
19 | 00003C30 | 00003cb4 | 00003EDC | |
20 | 00003CC0 | 00003ccc | 00003F04 | |
21 | 00003CD0 | 00003cd1 | 00003E04 | |
_______________________________________________ | |
Type: MethodDefEntryPoints (103) | |
Size: 36 bytes | |
06000001: void RefX0..ctor() | |
06000002: void RefY0..ctor() | |
06000009: void Outer..ctor() | |
0600000C: void Test.Eval(bool) | |
0600000D: int Test.Main() | |
0600000E: void Test..ctor() | |
0600000F: void Test..cctor() | |
_______________________________________________ | |
Type: DebugInfo (105) | |
Size: 416 bytes | |
Unsupported section type DebugInfo | |
_______________________________________________ | |
Type: DelayLoadMethodCallThunks (106) | |
Size: 33 bytes | |
Unsupported section type DelayLoadMethodCallThunks | |
_______________________________________________ | |
Type: AvailableTypes (108) | |
Size: 67 bytes | |
ValX3`3 | |
ValX0 | |
<Module> | |
ValX1`1 | |
RefY3`3 | |
Gen`1 | |
RefY1`1 | |
Test | |
RefX2`2 | |
Outer | |
ValX2`2 | |
RefX0 | |
ValY0 | |
ValY3`3 | |
RefX1`1 | |
ValY1`1 | |
RefX3`3 | |
ValY2`2 | |
Outer+IGen`1 | |
RefY0 | |
RefY2`2 | |
_______________________________________________ | |
Type: InstanceMethodEntryPoints (109) | |
Size: 186 bytes | |
0x05 -> void Gen`1<double>..ctor(!0) | |
0x06 -> void Gen`1<ValX1`1<__Canon>>..ctor(!0) | |
0x07 -> bool Gen`1<__Canon>.InstVerify(System.Type) | |
0x44 -> void RefX2`2<__Canon,__Canon>..ctor() | |
0x65 -> void RefY1`1<__Canon>..ctor() | |
0xA8 -> void RefX1`1<__Canon>..ctor() | |
0xBD -> bool Gen`1<double>.InstVerify(System.Type) | |
0xBF -> void Gen`1<__Canon>..ctor(!0) | |
0xFC -> void RefX3`3<__Canon,__Canon,__Canon>..ctor() | |
0x18 -> void RefX1`1<int>..ctor() | |
0x2D -> void Gen`1<System.Guid>..ctor(!0) | |
0x47 -> bool Gen`1<int>.InstVerify(System.Type) | |
0x8E -> void RefY2`2<__Canon,__Canon>..ctor() | |
0xE8 -> void RefY3`3<__Canon,__Canon,__Canon>..ctor() | |
0xFF -> void Gen`1<int>..ctor(!0) | |
_______________________________________________ | |
Type: InliningInfo (110) | |
Size: 39 bytes | |
Inliners for inlinee 06000003: | |
0600000D | |
Inliners for inlinee 0600000A: | |
0600000D | |
Inliners for inlinee 060004D3: | |
06000001 | |
06000002 | |
06000003 | |
06000004 | |
06000005 | |
06000006 | |
06000007 | |
06000008 | |
06000009 | |
0600000D | |
0600000E | |
======================== R2R Methods ======================== | |
22 methods | |
_______________________________________________ | |
bool Gen`1<__Canon>.InstVerify(System.Type) | |
Handle: 0x0600000B | |
Rid: 11 | |
Number of RuntimeFunctions: 1 | |
Number of fixups: 1 | |
"Failed to verify type of Fld1 in: " (STRING_HANDLE) | |
bool Gen`1<__Canon>.InstVerify(System.Type) | |
Size: 143 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0007 | |
CountOfUnwindCodes: 4 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
UnwindCode[0]: CodeOffset 0x0007 FrameOffset 0x0000 NextOffset 0x0 Op 48 | |
UnwindCode[2]: CodeOffset 0x0002 FrameOffset 0x0000 NextOffset 0x0 Op RSI(6) | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0002, Source Types: StackEmpty | |
IL Offset: 0x001b, Source Types: StackEmpty | |
IL Offset: 0x001d, Source Types: StackEmpty | |
IL Offset: 0x0042, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x12 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 0 | |
Start Offset: 0x12 | |
End Offset: 0x17 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x12 | |
Loc Type: VLT_REG | |
Register: R8 | |
Variable Number: 1 | |
Start Offset: 0x12 | |
End Offset: 0x23 | |
Loc Type: VLT_REG | |
Register: RDI | |
Variable Number: 2 | |
Start Offset: 0x17 | |
End Offset: 0x85 | |
Loc Type: VLT_REG | |
Register: RBX | |
Variable Number: 4294967293 | |
Start Offset: 0x0 | |
End Offset: 0x12 | |
Loc Type: VLT_REG | |
Register: RDX | |
Variable Number: 4294967293 | |
Start Offset: 0x12 | |
End Offset: 0x3B | |
Loc Type: VLT_REG | |
Register: RSI | |
0000: push rdi | |
UWOP_PUSH_NONVOL RDI(7) 0 | |
0001: push rsi | |
UWOP_PUSH_NONVOL RSI(6) 0 | |
0002: push rbx | |
UWOP_PUSH_NONVOL RBX(3) 0 | |
0003: sub rsp, 48 | |
UWOP_ALLOC_SMALL 48 0 | |
0007: mov qword ptr [rsp + 40], rdx | |
000c: mov rsi, rdx | |
000f: mov rdi, r8 | |
0012: mov ebx, 1 | |
0017: mov rcx, qword ptr [rcx] | |
001a: call qword ptr [System.Type System.Object.GetType() (METHOD_ENTRY)] | |
0020: mov rcx, rax | |
0023: mov rdx, rdi | |
0026: lea r11, [bool System.Type.Equals(System.Type) (VIRTUAL_ENTRY)] | |
002d: cmp dword ptr [rcx], ecx | |
002f: call qword ptr [bool System.Type.Equals(System.Type) (VIRTUAL_ENTRY)] | |
0035: test al, al | |
0037: jne 0x0085 | |
0039: xor ebx, ebx | |
003b: mov rcx, rsi | |
003e: call qword ptr [TYPE_DICTIONARY_LOOKUP: Outer+IGen`1<var #0> (TYPE_HANDLE)] | |
0044: mov rcx, rax | |
0047: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
004d: mov rcx, rax | |
0050: mov r11, qword ptr ["Failed to verify type of Fld1 in: " (STRING_HANDLE)] | |
0057: mov rsi, qword ptr [r11] | |
005a: test rcx, rcx | |
005d: jne 0x0063 | |
005f: xor edx, edx | |
0061: jmp 0x0073 | |
0063: lea r11, [string System.Object.ToString() (VIRTUAL_ENTRY)] | |
006a: call qword ptr [string System.Object.ToString() (VIRTUAL_ENTRY)] | |
0070: mov rdx, rax | |
0073: mov rcx, rsi | |
0076: call qword ptr [string System.String.Concat(string, string) (METHOD_ENTRY)] | |
007c: mov rcx, rax | |
007f: call qword ptr [void System.Console.WriteLine(string) (METHOD_ENTRY)] | |
0085: mov eax, ebx | |
0087: add rsp, 48 | |
008b: pop rbx | |
008c: pop rsi | |
008d: pop rdi | |
008e: ret | |
_______________________________________________ | |
bool Gen`1<double>.InstVerify(System.Type) | |
Handle: 0x0600000B | |
Rid: 11 | |
Number of RuntimeFunctions: 1 | |
Number of fixups: 3 | |
"Failed to verify type of Fld1 in: " (STRING_HANDLE) | |
double (TYPE_HANDLE) | |
Outer+IGen`1<double> (TYPE_HANDLE) | |
bool Gen`1<double>.InstVerify(System.Type) | |
Size: 132 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0006 | |
CountOfUnwindCodes: 3 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
UnwindCode[0]: CodeOffset 0x0006 FrameOffset 0x0000 NextOffset 0x0 Op 40 | |
UnwindCode[2]: CodeOffset 0x0001 FrameOffset 0x0000 NextOffset 0x0 Op RDI(7) | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0002, Source Types: StackEmpty | |
IL Offset: 0x001b, Source Types: StackEmpty | |
IL Offset: 0x001d, Source Types: StackEmpty | |
IL Offset: 0x0042, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x9 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x9 | |
Loc Type: VLT_REG | |
Register: RDX | |
Variable Number: 1 | |
Start Offset: 0x9 | |
End Offset: 0x1E | |
Loc Type: VLT_REG | |
Register: RSI | |
Variable Number: 2 | |
Start Offset: 0xE | |
End Offset: 0x7B | |
Loc Type: VLT_REG | |
Register: RDI | |
0000: push rdi | |
UWOP_PUSH_NONVOL RDI(7) 0 | |
0001: push rsi | |
UWOP_PUSH_NONVOL RSI(6) 0 | |
0002: sub rsp, 40 | |
UWOP_ALLOC_SMALL 40 0 | |
0006: mov rsi, rdx | |
0009: mov edi, 1 | |
000e: mov rcx, qword ptr [double (TYPE_HANDLE)] | |
0015: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
001b: mov rcx, rax | |
001e: mov rdx, rsi | |
0021: lea r11, [bool System.Type.Equals(System.Type) (VIRTUAL_ENTRY)] | |
0028: cmp dword ptr [rcx], ecx | |
002a: call qword ptr [bool System.Type.Equals(System.Type) (VIRTUAL_ENTRY)] | |
0030: test al, al | |
0032: jne 0x007b | |
0034: xor edi, edi | |
0036: mov rcx, qword ptr [Outer+IGen`1<double> (TYPE_HANDLE)] | |
003d: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
0043: mov rcx, rax | |
0046: mov r11, qword ptr ["Failed to verify type of Fld1 in: " (STRING_HANDLE)] | |
004d: mov rsi, qword ptr [r11] | |
0050: test rcx, rcx | |
0053: jne 0x0059 | |
0055: xor edx, edx | |
0057: jmp 0x0069 | |
0059: lea r11, [string System.Object.ToString() (VIRTUAL_ENTRY)] | |
0060: call qword ptr [string System.Object.ToString() (VIRTUAL_ENTRY)] | |
0066: mov rdx, rax | |
0069: mov rcx, rsi | |
006c: call qword ptr [string System.String.Concat(string, string) (METHOD_ENTRY)] | |
0072: mov rcx, rax | |
0075: call qword ptr [void System.Console.WriteLine(string) (METHOD_ENTRY)] | |
007b: mov eax, edi | |
007d: add rsp, 40 | |
0081: pop rsi | |
0082: pop rdi | |
0083: ret | |
_______________________________________________ | |
bool Gen`1<int>.InstVerify(System.Type) | |
Handle: 0x0600000B | |
Rid: 11 | |
Number of RuntimeFunctions: 1 | |
Number of fixups: 3 | |
"Failed to verify type of Fld1 in: " (STRING_HANDLE) | |
int (TYPE_HANDLE) | |
Outer+IGen`1<int> (TYPE_HANDLE) | |
bool Gen`1<int>.InstVerify(System.Type) | |
Size: 132 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0006 | |
CountOfUnwindCodes: 3 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
UnwindCode[0]: CodeOffset 0x0006 FrameOffset 0x0000 NextOffset 0x0 Op 40 | |
UnwindCode[2]: CodeOffset 0x0001 FrameOffset 0x0000 NextOffset 0x0 Op RDI(7) | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0002, Source Types: StackEmpty | |
IL Offset: 0x001b, Source Types: StackEmpty | |
IL Offset: 0x001d, Source Types: StackEmpty | |
IL Offset: 0x0042, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x9 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x9 | |
Loc Type: VLT_REG | |
Register: RDX | |
Variable Number: 1 | |
Start Offset: 0x9 | |
End Offset: 0x1E | |
Loc Type: VLT_REG | |
Register: RSI | |
Variable Number: 2 | |
Start Offset: 0xE | |
End Offset: 0x7B | |
Loc Type: VLT_REG | |
Register: RDI | |
0000: push rdi | |
UWOP_PUSH_NONVOL RDI(7) 0 | |
0001: push rsi | |
UWOP_PUSH_NONVOL RSI(6) 0 | |
0002: sub rsp, 40 | |
UWOP_ALLOC_SMALL 40 0 | |
0006: mov rsi, rdx | |
0009: mov edi, 1 | |
000e: mov rcx, qword ptr [int (TYPE_HANDLE)] | |
0015: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
001b: mov rcx, rax | |
001e: mov rdx, rsi | |
0021: lea r11, [bool System.Type.Equals(System.Type) (VIRTUAL_ENTRY)] | |
0028: cmp dword ptr [rcx], ecx | |
002a: call qword ptr [bool System.Type.Equals(System.Type) (VIRTUAL_ENTRY)] | |
0030: test al, al | |
0032: jne 0x007b | |
0034: xor edi, edi | |
0036: mov rcx, qword ptr [Outer+IGen`1<int> (TYPE_HANDLE)] | |
003d: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
0043: mov rcx, rax | |
0046: mov r11, qword ptr ["Failed to verify type of Fld1 in: " (STRING_HANDLE)] | |
004d: mov rsi, qword ptr [r11] | |
0050: test rcx, rcx | |
0053: jne 0x0059 | |
0055: xor edx, edx | |
0057: jmp 0x0069 | |
0059: lea r11, [string System.Object.ToString() (VIRTUAL_ENTRY)] | |
0060: call qword ptr [string System.Object.ToString() (VIRTUAL_ENTRY)] | |
0066: mov rdx, rax | |
0069: mov rcx, rsi | |
006c: call qword ptr [string System.String.Concat(string, string) (METHOD_ENTRY)] | |
0072: mov rcx, rax | |
0075: call qword ptr [void System.Console.WriteLine(string) (METHOD_ENTRY)] | |
007b: mov eax, edi | |
007d: add rsp, 40 | |
0081: pop rsi | |
0082: pop rdi | |
0083: ret | |
_______________________________________________ | |
int Test.Main() | |
Handle: 0x0600000D | |
Rid: 13 | |
Number of RuntimeFunctions: 1 | |
Number of fixups: 23 | |
"string" (STRING_HANDLE) | |
"Test Failed" (STRING_HANDLE) | |
"Test Passed" (STRING_HANDLE) | |
double (TYPE_HANDLE) | |
Gen`1<double> (TYPE_HANDLE) | |
Gen`1<int[]> (TYPE_HANDLE) | |
Gen`1<int> (TYPE_HANDLE) | |
Gen`1<object[][]> (TYPE_HANDLE) | |
Gen`1<object> (TYPE_HANDLE) | |
Gen`1<RefX1`1<int>> (TYPE_HANDLE) | |
Gen`1<string[...,...]> (TYPE_HANDLE) | |
Gen`1<string> (TYPE_HANDLE) | |
Gen`1<System.Guid> (TYPE_HANDLE) | |
Gen`1<ValX1`1<string>> (TYPE_HANDLE) | |
int (TYPE_HANDLE) | |
int[] (TYPE_HANDLE) | |
object (TYPE_HANDLE) | |
object[][] (TYPE_HANDLE) | |
RefX1`1<int> (TYPE_HANDLE) | |
string (TYPE_HANDLE) | |
string[...,...] (TYPE_HANDLE) | |
System.Guid (TYPE_HANDLE) | |
ValX1`1<string> (TYPE_HANDLE) | |
int Test.Main() | |
Size: 764 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0006 | |
CountOfUnwindCodes: 3 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
UnwindCode[0]: CodeOffset 0x0006 FrameOffset 0x0000 NextOffset 0x0 Op 40 | |
UnwindCode[2]: CodeOffset 0x0001 FrameOffset 0x0000 NextOffset 0x0 Op RDI(7) | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0006, Source Types: SourceTypeInvalid | |
IL Offset: 0x002f, Source Types: SourceTypeInvalid | |
IL Offset: 0x004a, Source Types: StackEmpty | |
IL Offset: 0x0054, Source Types: SourceTypeInvalid | |
IL Offset: 0x005a, Source Types: StackEmpty | |
IL Offset: 0x006f, Source Types: StackEmpty | |
IL Offset: 0x0079, Source Types: SourceTypeInvalid | |
IL Offset: 0x007f, Source Types: StackEmpty | |
IL Offset: 0x00a3, Source Types: SourceTypeInvalid | |
IL Offset: 0x00c0, Source Types: StackEmpty | |
IL Offset: 0x00ca, Source Types: SourceTypeInvalid | |
IL Offset: 0x00d1, Source Types: StackEmpty | |
IL Offset: 0x00f6, Source Types: SourceTypeInvalid | |
IL Offset: 0x00fd, Source Types: StackEmpty | |
IL Offset: 0x0113, Source Types: StackEmpty | |
IL Offset: 0x011e, Source Types: SourceTypeInvalid | |
IL Offset: 0x0125, Source Types: StackEmpty | |
IL Offset: 0x013b, Source Types: StackEmpty | |
IL Offset: 0x0147, Source Types: SourceTypeInvalid | |
IL Offset: 0x014e, Source Types: StackEmpty | |
IL Offset: 0x0164, Source Types: StackEmpty | |
IL Offset: 0x016f, Source Types: SourceTypeInvalid | |
IL Offset: 0x0176, Source Types: StackEmpty | |
IL Offset: 0x018c, Source Types: StackEmpty | |
IL Offset: 0x0193, Source Types: StackEmpty | |
IL Offset: 0x019d, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
IL Offset: 0x01a0, Source Types: StackEmpty | |
IL Offset: 0x01aa, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x14 | |
End Offset: 0x24 | |
Loc Type: VLT_REG | |
Register: RSI | |
Variable Number: 1 | |
Start Offset: 0x54 | |
End Offset: 0x64 | |
Loc Type: VLT_REG | |
Register: RSI | |
Variable Number: 2 | |
Start Offset: 0x99 | |
End Offset: 0xA9 | |
Loc Type: VLT_REG | |
Register: RDI | |
Variable Number: 3 | |
Start Offset: 0xE1 | |
End Offset: 0xF1 | |
Loc Type: VLT_REG | |
Register: RDI | |
Variable Number: 4 | |
Start Offset: 0x11A | |
End Offset: 0x12A | |
Loc Type: VLT_REG | |
Register: RSI | |
Variable Number: 5 | |
Start Offset: 0x15E | |
End Offset: 0x16E | |
Loc Type: VLT_REG | |
Register: RDI | |
Variable Number: 6 | |
Start Offset: 0x195 | |
End Offset: 0x1A5 | |
Loc Type: VLT_REG | |
Register: RSI | |
Variable Number: 7 | |
Start Offset: 0x1E2 | |
End Offset: 0x1F2 | |
Loc Type: VLT_REG | |
Register: RDI | |
Variable Number: 8 | |
Start Offset: 0x242 | |
End Offset: 0x252 | |
Loc Type: VLT_REG | |
Register: RDI | |
Variable Number: 9 | |
Start Offset: 0x28F | |
End Offset: 0x29F | |
Loc Type: VLT_REG | |
Register: RDI | |
0000: push rdi | |
UWOP_PUSH_NONVOL RDI(7) 0 | |
0001: push rsi | |
UWOP_PUSH_NONVOL RSI(6) 0 | |
0002: sub rsp, 40 | |
UWOP_ALLOC_SMALL 40 0 | |
0006: call qword ptr [Gen`1<int> (NEW_OBJECT)] | |
000c: mov rsi, rax | |
000f: xor ecx, ecx | |
0011: mov dword ptr [rsi + 8], ecx | |
0014: mov rcx, qword ptr [int (TYPE_HANDLE)] | |
001b: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
0021: mov rdx, rax | |
0024: lea rcx, [rsi + 8] | |
0028: cmp dword ptr [rcx], ecx | |
002a: call qword ptr [bool Gen`1<int>.InstVerify(System.Type) (METHOD_ENTRY)] | |
0030: movzx ecx, al | |
0033: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
0039: xorps xmm0, xmm0 | |
003c: movsd qword ptr [rsp + 32], xmm0 | |
0042: call qword ptr [Gen`1<double> (NEW_OBJECT)] | |
0048: mov rsi, rax | |
004b: mov rcx, qword ptr [rsp + 32] | |
0050: mov qword ptr [rsi + 8], rcx | |
0054: mov rcx, qword ptr [double (TYPE_HANDLE)] | |
005b: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
0061: mov rdx, rax | |
0064: lea rcx, [rsi + 8] | |
0068: cmp dword ptr [rcx], ecx | |
006a: call qword ptr [bool Gen`1<double>.InstVerify(System.Type) (METHOD_ENTRY)] | |
0070: movzx ecx, al | |
0073: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
0079: mov rax, qword ptr ["string" (STRING_HANDLE)] | |
0080: mov rsi, qword ptr [rax] | |
0083: call qword ptr [Gen`1<string> (NEW_OBJECT)] | |
0089: mov rdi, rax | |
008c: lea rcx, [rdi + 8] | |
0090: mov rdx, rsi | |
0093: call qword ptr [WRITE_BARRIER (HELPER)] | |
0099: mov rcx, qword ptr [string (TYPE_HANDLE)] | |
00a0: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
00a6: mov rdx, rax | |
00a9: mov rcx, rdi | |
00ac: lea r11, [Outer+IGen`1<string> #0 (VIRTUAL_ENTRY_SLOT)] | |
00b3: call qword ptr [Outer+IGen`1<string> #0 (VIRTUAL_ENTRY_SLOT)] | |
00b9: movzx ecx, al | |
00bc: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
00c2: call qword ptr [object (NEW_OBJECT)] | |
00c8: mov rsi, rax | |
00cb: call qword ptr [Gen`1<object> (NEW_OBJECT)] | |
00d1: mov rdi, rax | |
00d4: lea rcx, [rdi + 8] | |
00d8: mov rdx, rsi | |
00db: call qword ptr [WRITE_BARRIER (HELPER)] | |
00e1: mov rcx, qword ptr [object (TYPE_HANDLE)] | |
00e8: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
00ee: mov rdx, rax | |
00f1: mov rcx, rdi | |
00f4: lea r11, [Outer+IGen`1<object> #0 (VIRTUAL_ENTRY_SLOT)] | |
00fb: call qword ptr [Outer+IGen`1<object> #0 (VIRTUAL_ENTRY_SLOT)] | |
0101: movzx ecx, al | |
0104: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
010a: call qword ptr [Gen`1<System.Guid> (NEW_OBJECT)] | |
0110: mov rsi, rax | |
0113: xorps xmm0, xmm0 | |
0116: movups xmmword ptr [rsi + 8], xmm0 | |
011a: mov rcx, qword ptr [System.Guid (TYPE_HANDLE)] | |
0121: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
0127: mov rdx, rax | |
012a: lea rcx, [rsi + 8] | |
012e: cmp dword ptr [rcx], ecx | |
0130: call qword ptr [bool Gen`1<System.Guid>.InstVerify(System.Type) (METHOD_ENTRY)] | |
0136: movzx ecx, al | |
0139: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
013f: call qword ptr [RefX1`1<int> (NEW_OBJECT)] | |
0145: mov rsi, rax | |
0148: call qword ptr [Gen`1<RefX1`1<int>> (NEW_OBJECT)] | |
014e: mov rdi, rax | |
0151: lea rcx, [rdi + 8] | |
0155: mov rdx, rsi | |
0158: call qword ptr [WRITE_BARRIER (HELPER)] | |
015e: mov rcx, qword ptr [RefX1`1<int> (TYPE_HANDLE)] | |
0165: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
016b: mov rdx, rax | |
016e: mov rcx, rdi | |
0171: lea r11, [Outer+IGen`1<RefX1`1<int>> #0 (VIRTUAL_ENTRY_SLOT)] | |
0178: call qword ptr [Outer+IGen`1<RefX1`1<int>> #0 (VIRTUAL_ENTRY_SLOT)] | |
017e: movzx ecx, al | |
0181: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
0187: call qword ptr [Gen`1<ValX1`1<string>> (NEW_OBJECT)] | |
018d: mov rsi, rax | |
0190: xor ecx, ecx | |
0192: mov byte ptr [rsi + 8], cl | |
0195: mov rcx, qword ptr [ValX1`1<string> (TYPE_HANDLE)] | |
019c: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
01a2: mov rdx, rax | |
01a5: mov rcx, rsi | |
01a8: lea r11, [Outer+IGen`1<ValX1`1<string>> #0 (VIRTUAL_ENTRY_SLOT)] | |
01af: call qword ptr [Outer+IGen`1<ValX1`1<string>> #0 (VIRTUAL_ENTRY_SLOT)] | |
01b5: movzx ecx, al | |
01b8: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
01be: mov ecx, 1 | |
01c3: call qword ptr [int[] (NEW_ARRAY)] | |
01c9: mov rsi, rax | |
01cc: call qword ptr [Gen`1<int[]> (NEW_OBJECT)] | |
01d2: mov rdi, rax | |
01d5: lea rcx, [rdi + 8] | |
01d9: mov rdx, rsi | |
01dc: call qword ptr [WRITE_BARRIER (HELPER)] | |
01e2: mov rcx, qword ptr [int[] (TYPE_HANDLE)] | |
01e9: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
01ef: mov rdx, rax | |
01f2: mov rcx, rdi | |
01f5: lea r11, [Outer+IGen`1<int[]> #0 (VIRTUAL_ENTRY_SLOT)] | |
01fc: call qword ptr [Outer+IGen`1<int[]> #0 (VIRTUAL_ENTRY_SLOT)] | |
0202: movzx ecx, al | |
0205: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
020b: mov rcx, qword ptr [string[...,...] (TYPE_HANDLE)] | |
0212: mov edx, 2 | |
0217: mov r8d, 1 | |
021d: mov r9d, 1 | |
0223: call qword ptr [NEW_MULTI_DIM_ARR (HELPER)] | |
0229: mov rsi, rax | |
022c: call qword ptr [Gen`1<string[...,...]> (NEW_OBJECT)] | |
0232: mov rdi, rax | |
0235: lea rcx, [rdi + 8] | |
0239: mov rdx, rsi | |
023c: call qword ptr [WRITE_BARRIER (HELPER)] | |
0242: mov rcx, qword ptr [string[...,...] (TYPE_HANDLE)] | |
0249: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
024f: mov rdx, rax | |
0252: mov rcx, rdi | |
0255: lea r11, [Outer+IGen`1<string[...,...]> #0 (VIRTUAL_ENTRY_SLOT)] | |
025c: call qword ptr [Outer+IGen`1<string[...,...]> #0 (VIRTUAL_ENTRY_SLOT)] | |
0262: movzx ecx, al | |
0265: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
026b: mov ecx, 1 | |
0270: call qword ptr [object[][] (NEW_ARRAY)] | |
0276: mov rsi, rax | |
0279: call qword ptr [Gen`1<object[][]> (NEW_OBJECT)] | |
027f: mov rdi, rax | |
0282: lea rcx, [rdi + 8] | |
0286: mov rdx, rsi | |
0289: call qword ptr [WRITE_BARRIER (HELPER)] | |
028f: mov rcx, qword ptr [object[][] (TYPE_HANDLE)] | |
0296: call qword ptr [GET_RUNTIME_TYPE_HANDLE (HELPER)] | |
029c: mov rdx, rax | |
029f: mov rcx, rdi | |
02a2: lea r11, [Outer+IGen`1<object[][]> #0 (VIRTUAL_ENTRY_SLOT)] | |
02a9: call qword ptr [Outer+IGen`1<object[][]> #0 (VIRTUAL_ENTRY_SLOT)] | |
02af: movzx ecx, al | |
02b2: call qword ptr [void Test.Eval(bool) (METHOD_ENTRY)] | |
02b8: call qword ptr [Test (STATIC_BASE_NON_GC)] | |
02be: cmp byte ptr [rax + 76], 0 | |
02c2: je 0x02e0 | |
02c4: mov rcx, qword ptr ["Test Passed" (STRING_HANDLE)] | |
02cb: mov rcx, qword ptr [rcx] | |
02ce: call qword ptr [void System.Console.WriteLine(string) (METHOD_ENTRY)] | |
02d4: mov eax, 100 | |
02d9: add rsp, 40 | |
02dd: pop rsi | |
02de: pop rdi | |
02df: ret | |
02e0: mov rcx, qword ptr ["Test Failed" (STRING_HANDLE)] | |
02e7: mov rcx, qword ptr [rcx] | |
02ea: call qword ptr [void System.Console.WriteLine(string) (METHOD_ENTRY)] | |
02f0: mov eax, 1 | |
02f5: add rsp, 40 | |
02f9: pop rsi | |
02fa: pop rdi | |
02fb: ret | |
_______________________________________________ | |
void Gen`1<__Canon>..ctor(!0) | |
Handle: 0x0600000A | |
Rid: 10 | |
Number of RuntimeFunctions: 1 | |
void Gen`1<__Canon>..ctor(!0) | |
Size: 11 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0007, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: R8 | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: R8 | |
Variable Number: 4294967293 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RDX | |
0000: mov rdx, r8 | |
0003: call qword ptr [CHECKED_WRITE_BARRIER (HELPER)] | |
0009: nop | |
000a: ret | |
_______________________________________________ | |
void Gen`1<double>..ctor(!0) | |
Handle: 0x0600000A | |
Rid: 10 | |
Number of RuntimeFunctions: 1 | |
void Gen`1<double>..ctor(!0) | |
Size: 5 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0007, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: 17 | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG_FP | |
Register: 17 | |
0000: movsd qword ptr [rcx], xmm1 | |
0004: ret | |
_______________________________________________ | |
void Gen`1<int>..ctor(!0) | |
Handle: 0x0600000A | |
Rid: 10 | |
Number of RuntimeFunctions: 1 | |
void Gen`1<int>..ctor(!0) | |
Size: 3 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0007, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RDX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RDX | |
0000: mov dword ptr [rcx], edx | |
0002: ret | |
_______________________________________________ | |
void Gen`1<System.Guid>..ctor(!0) | |
Handle: 0x0600000A | |
Rid: 10 | |
Number of RuntimeFunctions: 1 | |
void Gen`1<System.Guid>..ctor(!0) | |
Size: 7 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0007, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RDX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RDX | |
0000: movups xmm0, xmmword ptr [rdx] | |
0003: movups xmmword ptr [rcx], xmm0 | |
0006: ret | |
_______________________________________________ | |
void Gen`1<ValX1`1<__Canon>>..ctor(!0) | |
Handle: 0x0600000A | |
Rid: 10 | |
Number of RuntimeFunctions: 1 | |
void Gen`1<ValX1`1<__Canon>>..ctor(!0) | |
Size: 12 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0007, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x5 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 0 | |
Start Offset: 0x5 | |
End Offset: 0x6 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 1 | |
Start Offset: 0x0 | |
End Offset: 0x5 | |
Loc Type: VLT_REG | |
Register: R8 | |
Variable Number: 1 | |
Start Offset: 0x5 | |
End Offset: 0xB | |
Loc Type: VLT_STK | |
Base Register: 17 | |
Stack Offset: 24 | |
Variable Number: 4294967293 | |
Start Offset: 0x0 | |
End Offset: 0x5 | |
Loc Type: VLT_REG | |
Register: RDX | |
0000: mov qword ptr [rsp + 24], r8 | |
0005: mov al, byte ptr [rsp + 24] | |
0009: mov byte ptr [rcx], al | |
000b: ret | |
_______________________________________________ | |
void Outer..ctor() | |
Handle: 0x06000009 | |
Rid: 9 | |
Number of RuntimeFunctions: 1 | |
void Outer..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefX0..ctor() | |
Handle: 0x06000001 | |
Rid: 1 | |
Number of RuntimeFunctions: 1 | |
void RefX0..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefX1`1<__Canon>..ctor() | |
Handle: 0x06000003 | |
Rid: 3 | |
Number of RuntimeFunctions: 1 | |
void RefX1`1<__Canon>..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefX1`1<int>..ctor() | |
Handle: 0x06000003 | |
Rid: 3 | |
Number of RuntimeFunctions: 1 | |
void RefX1`1<int>..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefX2`2<__Canon,__Canon>..ctor() | |
Handle: 0x06000005 | |
Rid: 5 | |
Number of RuntimeFunctions: 1 | |
void RefX2`2<__Canon,__Canon>..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefX3`3<__Canon,__Canon,__Canon>..ctor() | |
Handle: 0x06000007 | |
Rid: 7 | |
Number of RuntimeFunctions: 1 | |
void RefX3`3<__Canon,__Canon,__Canon>..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefY0..ctor() | |
Handle: 0x06000002 | |
Rid: 2 | |
Number of RuntimeFunctions: 1 | |
void RefY0..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefY1`1<__Canon>..ctor() | |
Handle: 0x06000004 | |
Rid: 4 | |
Number of RuntimeFunctions: 1 | |
void RefY1`1<__Canon>..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefY2`2<__Canon,__Canon>..ctor() | |
Handle: 0x06000006 | |
Rid: 6 | |
Number of RuntimeFunctions: 1 | |
void RefY2`2<__Canon,__Canon>..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void RefY3`3<__Canon,__Canon,__Canon>..ctor() | |
Handle: 0x06000008 | |
Rid: 8 | |
Number of RuntimeFunctions: 1 | |
void RefY3`3<__Canon,__Canon,__Canon>..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void Test..cctor() | |
Handle: 0x0600000F | |
Rid: 15 | |
Number of RuntimeFunctions: 1 | |
void Test..cctor() | |
Size: 24 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0004 | |
CountOfUnwindCodes: 1 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
UnwindCode[0]: CodeOffset 0x0004 FrameOffset 0x0000 NextOffset 0x0 Op 40 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x0006, Source Types: StackEmpty | |
IL Offset: 0x000c, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
0000: sub rsp, 40 | |
UWOP_ALLOC_SMALL 40 0 | |
0004: call qword ptr [Test (STATIC_BASE_NON_GC)] | |
000a: xor edx, edx | |
000c: mov dword ptr [rax + 72], edx | |
000f: mov byte ptr [rax + 76], 1 | |
0013: add rsp, 40 | |
0017: ret | |
_______________________________________________ | |
void Test..ctor() | |
Handle: 0x0600000E | |
Rid: 14 | |
Number of RuntimeFunctions: 1 | |
void Test..ctor() | |
Size: 1 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0000 | |
CountOfUnwindCodes: 0 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x1 | |
Loc Type: VLT_REG | |
Register: RCX | |
0000: ret | |
_______________________________________________ | |
void Test.Eval(bool) | |
Handle: 0x0600000C | |
Rid: 12 | |
Number of RuntimeFunctions: 1 | |
Number of fixups: 1 | |
"Test Failed at location: " (STRING_HANDLE) | |
void Test.Eval(bool) | |
Size: 76 bytes | |
Version: 1 | |
Flags: 0x03 EHANDLER UHANDLER | |
SizeOfProlog: 0x0005 | |
CountOfUnwindCodes: 2 | |
FrameRegister: None | |
FrameOffset: 0x0 | |
UnwindCode[0]: CodeOffset 0x0005 FrameOffset 0x0000 NextOffset 0x0 Op 32 | |
Debug Info | |
Bounds: | |
Prolog, Source Types: StackEmpty | |
IL Offset: 0x0000, Source Types: StackEmpty | |
IL Offset: 0x000c, Source Types: StackEmpty | |
IL Offset: 0x000f, Source Types: StackEmpty | |
IL Offset: 0x0015, Source Types: StackEmpty | |
IL Offset: 0x002e, Source Types: StackEmpty | |
Epilog, Source Types: StackEmpty | |
Variable Locations: | |
Variable Number: 0 | |
Start Offset: 0x0 | |
End Offset: 0x7 | |
Loc Type: VLT_REG | |
Register: RCX | |
Variable Number: 0 | |
Start Offset: 0x7 | |
End Offset: 0x18 | |
Loc Type: VLT_REG | |
Register: RSI | |
0000: push rsi | |
UWOP_PUSH_NONVOL RSI(6) 0 | |
0001: sub rsp, 32 | |
UWOP_ALLOC_SMALL 32 0 | |
0005: mov esi, ecx | |
0007: call qword ptr [Test (STATIC_BASE_NON_GC)] | |
000d: mov rcx, rax | |
0010: inc dword ptr [rcx + 72] | |
0013: test sil, sil | |
0016: jne 0x0045 | |
0018: mov byte ptr [rcx + 76], sil | |
001c: mov rax, qword ptr ["Test Failed at location: " (STRING_HANDLE)] | |
0023: mov rsi, qword ptr [rax] | |
0026: add rcx, 72 | |
002a: call qword ptr [string System.Int32.ToString() (METHOD_ENTRY)] | |
0030: mov rdx, rax | |
0033: mov rcx, rsi | |
0036: call qword ptr [string System.String.Concat(string, string) (METHOD_ENTRY)] | |
003c: mov rcx, rax | |
003f: call qword ptr [void System.Console.WriteLine(string) (METHOD_ENTRY)] | |
0045: nop | |
0046: add rsp, 32 | |
004a: pop rsi | |
004b: ret | |
=========== Eager fixup counts across all methods =========== | |
============================================================= | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment