1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
5 .assembly extern mscorlib { }
6 .assembly 'tailcall' { }
9 .class private auto ansi beforefieldinit App
10 extends [mscorlib]System.Object
12 .method private hidebysig static int64
13 Test(bool path) cil managed
22 IL_0004: box [mscorlib]System.Int32
23 IL_0009: unbox [mscorlib]System.Int32
28 IL_0010: box [mscorlib]System.Single
29 IL_0015: unbox [mscorlib]System.Single
32 IL_001c: box [mscorlib]System.SByte
35 IL_0021: unbox [mscorlib]System.SByte
37 IL_0027: box [mscorlib]System.SByte
38 IL_002c: unbox [mscorlib]System.SByte
41 IL_0038: box [mscorlib]System.IntPtr
42 IL_003d: unbox [mscorlib]System.IntPtr
45 IL_0042: ldobj [mscorlib]System.IntPtr
47 IL_004d: box [mscorlib]System.Byte
48 IL_0052: unbox [mscorlib]System.Byte
51 IL_0059: box [mscorlib]System.SByte
52 IL_005e: unbox [mscorlib]System.SByte
55 IL_0065: box [mscorlib]System.UInt64
56 IL_006a: unbox [mscorlib]System.UInt64
59 IL_0075: box [mscorlib]System.IntPtr
60 IL_007a: unbox [mscorlib]System.IntPtr
61 IL_007f: ldobj [mscorlib]System.IntPtr
65 IL_008a: box [mscorlib]System.UInt64
66 IL_008f: unbox [mscorlib]System.UInt64
69 IL_0096: box [mscorlib]System.Byte
70 IL_009b: unbox [mscorlib]System.Byte
73 IL_00a2: box [mscorlib]System.Int64
74 IL_00a7: unbox [mscorlib]System.Int64
77 IL_00ae: box [mscorlib]System.SByte
78 IL_00b3: unbox [mscorlib]System.SByte
81 IL_00ba: box [mscorlib]System.UInt32
82 IL_00bf: unbox [mscorlib]System.UInt32
85 IL_00c6: box [mscorlib]System.Int64
86 IL_00cb: unbox [mscorlib]System.Int64
89 IL_00d6: box [mscorlib]System.UIntPtr
90 IL_00db: unbox [mscorlib]System.UIntPtr
91 IL_00e0: ldobj [mscorlib]System.UIntPtr
94 IL_00ec: box [mscorlib]System.Single
95 IL_00f1: unbox [mscorlib]System.Single
98 IL_00f8: box [mscorlib]System.SByte
99 IL_00fd: unbox [mscorlib]System.SByte
101 IL_0103: box [mscorlib]System.SByte
102 IL_0108: unbox [mscorlib]System.SByte
105 IL_0114: box [mscorlib]System.IntPtr
106 IL_0119: unbox [mscorlib]System.IntPtr
107 IL_011e: ldobj [mscorlib]System.IntPtr
109 IL_0129: box [mscorlib]System.Byte
110 IL_012e: unbox [mscorlib]System.Byte
113 IL_0135: box [mscorlib]System.SByte
114 IL_013a: unbox [mscorlib]System.SByte
117 IL_0141: box [mscorlib]System.UInt64
118 IL_0146: unbox [mscorlib]System.UInt64
121 IL_0151: box [mscorlib]System.IntPtr
122 IL_0156: unbox [mscorlib]System.IntPtr
123 IL_015b: ldobj [mscorlib]System.IntPtr
125 IL_0166: box [mscorlib]System.UInt64
126 IL_016b: unbox [mscorlib]System.UInt64
131 IL_0172: box [mscorlib]System.Byte
132 IL_0177: unbox [mscorlib]System.Byte
135 IL_017e: box [mscorlib]System.Int64
136 IL_0183: unbox [mscorlib]System.Int64
139 IL_018a: box [mscorlib]System.SByte
140 IL_018f: unbox [mscorlib]System.SByte
143 IL_0196: box [mscorlib]System.UInt32
144 IL_019b: unbox [mscorlib]System.UInt32
147 IL_01a2: box [mscorlib]System.Int64
148 IL_01a7: unbox [mscorlib]System.Int64
151 IL_01b2: box [mscorlib]System.UIntPtr
152 IL_01b7: unbox [mscorlib]System.UIntPtr
153 IL_01bc: ldobj [mscorlib]System.UIntPtr
156 IL_01c8: box [mscorlib]System.Double
157 IL_01cd: unbox [mscorlib]System.Double
160 IL_01dc: beq.s IL_END
162 IL_01de: ldstr "Loss of precision or unbox error"
163 IL_01e3: newobj instance void [mscorlib]System.Exception::.ctor(string)
172 tail. call int64 JitTest.App::Test(bool)
174 } // end of method App::Test
176 .method private hidebysig static int32
183 IL_0001: call int64 JitTest.App::Test(bool)
185 IL_0007: call int64 JitTest.App::Test(bool)
188 IL_000c: ldstr "=== TEST PASSED ==="
189 IL_0011: call void [mscorlib]System.Console::WriteLine(string)
190 IL_0016: ldc.i4.s 100
192 IL_0019: br.s IL_001b
196 } // end of method App::Main
198 .method public hidebysig specialname rtspecialname
199 instance void .ctor() cil managed
203 IL_0001: call instance void [mscorlib]System.Object::.ctor()
205 } // end of method App::.ctor
207 } // end of class App
209 } // end of namespace JitTest