4 SimpleAssign:CheckEqualAssign ()
8 .assembly extern mscorlib
11 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
13 .assembly 'instance_tailrec'
15 .custom instance void class [mscorlib]System.Diagnostics.DebuggableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = (01 00 02 01 00 00 00 00 ) // ........
17 .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
18 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
19 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
21 .permissionset reqmin = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
22 .hash algorithm 0x00008004
25 .module instance_tailrec.exe // GUID = {5C65CFE6-9730-430A-BE4D-0F9BAC9C03DA}
27 .custom instance void class [mscorlib]System.Security.UnverifiableCodeAttribute::'.ctor'() = (01 00 00 00 ) // ....
32 .class public auto ansi beforefieldinit TailRec
33 extends [mscorlib]System.Object
35 .field public int32 counter
38 .method public hidebysig specialname rtspecialname
39 instance default void '.ctor' (int32 a) cil managed
41 // Method begins at RVA 0x2050
45 IL_0001: call instance void object::'.ctor'()
49 IL_0009: stfld int32 test.TailRec::counter
51 } // end of method TailRec::.ctor
54 .method public hidebysig
55 instance default bool tailrec (object obj) cil managed
57 // Method begins at RVA 0x2060
58 // Code size 78 (0x4e)
64 IL_0002: brtrue IL_003f
69 IL_000a: ldfld int32 test.TailRec::counter
72 IL_0011: stfld int32 test.TailRec::counter
74 IL_0017: ldfld int32 test.TailRec::counter
83 IL_002a: brfalse IL_0038
87 // here is the tail call
88 IL_0031: call instance bool class test.TailRec::tailrec(object)
97 IL_0041: callvirt instance bool object::Equals(object)
103 } // end of method TailRec::tailrec
106 .method public static hidebysig
107 default int32 Main () cil managed
109 // Method begins at RVA 0x20bc
111 // Code size 112 (0x70)
114 class test.TailRec V_0,
127 IL_000b: ldc.i4 347134
135 IL_001c: newobj instance void class test.TailRec::'.ctor'(int32)
139 IL_0024: callvirt instance bool class test.TailRec::tailrec(object)
151 IL_003e: brfalse IL_0065
154 IL_0044: brtrue IL_0065
158 IL_004f: bne.un IL_0065
161 IL_0055: ldc.i4 347134
162 IL_005a: bne.un IL_0065
173 } // end of method TailRec::Main
175 } // end of class test.TailRec