+2003-11-27 Zoltan Varga <vargaz@freemail.hu>
+
+ * iltests.il: Add tests for tail calls with valuetype arguments.
Thu Nov 27 21:06:37 CET 2003 Paolo Molaro <lupus@ximian.com>
ldc.i4 1\r
ret\r
}\r
+\r
+ .class nested private auto ansi sealed beforefieldinit TailCallStruct \r
+ extends [mscorlib]System.ValueType {\r
+ .field public int32 a\r
+ .field public int32 b\r
+ }\r
+\r
+ .method static valuetype Tests/TailCallStruct tail1 (valuetype Tests/TailCallStruct arg) {\r
+ ldarga 0\r
+ ldarga 0\r
+ ldfld int32 Tests/TailCallStruct::a\r
+ ldc.i4.1\r
+ add\r
+ stfld int32 Tests/TailCallStruct::a\r
+ ldarga 0\r
+ ldarga 0\r
+ ldfld int32 Tests/TailCallStruct::a\r
+ ldc.i4.2\r
+ add\r
+ stfld int32 Tests/TailCallStruct::a\r
+ ldarg.0\r
+ ret\r
+ }\r
+\r
+ .method static valuetype Tests/TailCallStruct tail2 (valuetype Tests/TailCallStruct arg) {\r
+ ldarg.0\r
+ tail.\r
+ call valuetype Tests/TailCallStruct Tests::tail1 (valuetype Tests/TailCallStruct)\r
+ ret\r
+ }\r
+\r
+ .method static public int32 test_0_tail_calls () il managed {\r
+ .maxstack 16\r
+ .locals init (\r
+ valuetype Tests/TailCallStruct arg\r
+ )\r
+ ldloca 0\r
+ ldc.i4.2\r
+ stfld int32 Tests/TailCallStruct::a\r
+ ldloca 0\r
+ ldc.i4.4\r
+ stfld int32 Tests/TailCallStruct::b\r
+ ldloc.0\r
+ call valuetype Tests/TailCallStruct Tests::tail2 (valuetype Tests/TailCallStruct)\r
+ stloc.0\r
+ ldloca 0\r
+ ldfld int32 Tests/TailCallStruct::a\r
+ ldloca 0\r
+ ldfld int32 Tests/TailCallStruct::b\r
+ add\r
+ ldc.i4 9\r
+ sub\r
+ ret\r
+ }\r
}\r