2 .assembly extern TestDriver {}
\r
3 .assembly extern mscorlib {}
\r
5 .class public auto ansi sealed beforefieldinit Tests {
\r
7 .method static public int32 Main() il managed {
\r
11 call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
\r
12 call int32 [TestDriver]TestDriver::RunTests(class [mscorlib]System.Type)
\r
16 // make sure the register allocator works when the return value of
\r
17 // 'div' is discarded
\r
18 .method static public int32 test_0_div_regalloc () il managed {
\r
31 .method static public int32 test_3_copy_used_bug () il managed {
\r
57 // demonstrate that the copy_used_var is not a fix for the above bug
\r
58 .method static public int32 test_3_copy_used_indir_bug () il managed {
\r
85 .method static public void do_nothing (int32 a) il managed {
\r
89 // demonstrate the block_split failure: needs -O=inline
\r
90 // mini -O=inline --compile Tests:test_0_split_block_bug iltests.exe
\r
91 .method static public int32 test_0_split_block_bug () il managed {
\r
101 call void class Tests::do_nothing (int32)
\r
109 .method public void inline_do_nothing () il managed {
\r
112 .method static public int32 test_1_checkthis_inlining () il managed {
\r
114 call instance void class Tests::inline_do_nothing ()
\r
119 .class nested private auto ansi sealed beforefieldinit TailCallStruct
\r
120 extends [mscorlib]System.ValueType {
\r
121 .field public int32 a
\r
122 .field public int32 b
\r
125 .method static valuetype Tests/TailCallStruct tail1 (valuetype Tests/TailCallStruct arg) {
\r
128 ldfld int32 Tests/TailCallStruct::a
\r
131 stfld int32 Tests/TailCallStruct::a
\r
134 ldfld int32 Tests/TailCallStruct::a
\r
137 stfld int32 Tests/TailCallStruct::a
\r
142 .method static valuetype Tests/TailCallStruct tail2 (valuetype Tests/TailCallStruct arg) {
\r
145 call valuetype Tests/TailCallStruct Tests::tail1 (valuetype Tests/TailCallStruct)
\r
149 .method static public int32 test_0_tail_calls () il managed {
\r
152 valuetype Tests/TailCallStruct arg
\r
156 stfld int32 Tests/TailCallStruct::a
\r
159 stfld int32 Tests/TailCallStruct::b
\r
161 call valuetype Tests/TailCallStruct Tests::tail2 (valuetype Tests/TailCallStruct)
\r
164 ldfld int32 Tests/TailCallStruct::a
\r
166 ldfld int32 Tests/TailCallStruct::b
\r