/
reload-at-bb-end.il
112 lines (100 loc) · 3.32 KB
/
reload-at-bb-end.il
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
.assembly extern mscorlib
{
.ver 1:0:5000:0
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
}
.assembly 'out'
{
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module 'out' // GUID = {D45045F2-EC64-4624-8552-EB20DDE3767F}
.class private auto ansi sealed T
extends [mscorlib]System.ValueType
{
.field public int32 a
.field public int32 b
// method line 1
.method public hidebysig specialname rtspecialname
instance default void .ctor (int32 a, int32 b) cil managed
{
// Method begins at RVA 0x20ec
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldarg.2
IL_0002: stfld int32 T::b
IL_0007: ldarg.0
IL_0008: ldarg.1
IL_0009: stfld int32 T::a
IL_000e: ret
} // end of method T::instance default void .ctor (int32 a, int32 b)
} // end of class T
.class private auto ansi abstract M
extends [mscorlib]System.Object
{
// method line 2
.method private static hidebysig
default void foo (valuetype T _N_u470, bool _N_u471) cil managed
{
// Method begins at RVA 0x20fc
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method M::default void foo (valuetype T _N_u470, bool _N_u471)
// method line 3
.method private static hidebysig
default void IsBetterType (object t1, object t2) cil managed
{
// Method begins at RVA 0x2100
// Code size 42 (0x2a)
.maxstack 6
.locals init (
valuetype T V_0)
IL_0000: ldc.i4.3
IL_0001: ldc.i4.4
IL_0002: newobj instance void valuetype T::.ctor(int32, int32)
IL_0007: stloc.0
IL_0008: ldarg.0
IL_0009: ldarg.1
IL_000a: call bool class M::_N_real_check750(object, object)
IL_000f: pop
IL_0010: ldloc.0
IL_0011: ldarg.0
IL_0012: ldarg.1
IL_0013: call bool class M::_N_real_check750(object, object)
IL_0018: brfalse IL_0023
IL_001d: ldc.i4.1
IL_001e: br IL_0024
IL_0023: ldc.i4.1
IL_0024: call void class M::foo(valuetype T, bool)
IL_0029: ret
} // end of method M::default void IsBetterType (object t1, object t2)
// method line 4
.method private static hidebysig
default void Main () cil managed
{
// Method begins at RVA 0x2138
.entrypoint
// Code size 16 (0x10)
.maxstack 8
IL_0000: newobj instance void object::.ctor()
IL_0005: newobj instance void object::.ctor()
IL_000a: call void class M::IsBetterType(object, object)
IL_000f: ret
} // end of method M::default void Main ()
// method line 5
.method private static hidebysig
default bool _N_real_check750 (object t1, object t2) cil managed
{
// Method begins at RVA 0x214c
// Code size 14 (0xe)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call void class [mscorlib]System.Console::WriteLine(object)
IL_0006: ldarg.1
IL_0007: call void class [mscorlib]System.Console::WriteLine(object)
IL_000c: ldc.i4.1
IL_000d: ret
} // end of method M::default bool _N_real_check750 (object t1, object t2)
} // end of class M