Update Haiku support (#15674)
[mono-project.git] / mono / tests / ivtail1.il
blobff192ccb24f1a16f61231377d137e4f5d36f75aa
1 .assembly extern mscorlib { }
3 .assembly ivtail1 { }
5 .class A extends [mscorlib]System.Object {
6 .method public hidebysig specialname rtspecialname instance void .ctor() cil managed
8 .maxstack 8
9 ldarg.0
10 call instance void [mscorlib]System.Object::.ctor()
11 ret
13 .method public hidebysig static int32 ivtail1() cil managed noinlining {
14 .entrypoint
15 .maxstack 4
16 .locals init (uint8 V_0)
17 newobj instance void A::.ctor()
18 ldloca.s V_0
19 conv.u
20 conv.u8
21 ldc.i4.0
22 conv.i8
23 ldc.i4.6
24 callvirt instance int32 A::ivtail2(int64, int64, int32)
25 ret
27 .method public hidebysig newslot virtual instance int32 ivtail2(int64 root_stack, int64 diff_stack, int32 counter) cil managed noinlining {
28 .maxstack 5
29 .locals init (uint8 V_0)
30 ldarg.3
31 ldc.i4.0
32 ble.s IL_0015
33 ldarg.0
34 ldarg.1
35 ldloca.s V_0
36 conv.u
37 conv.u8
38 ldarg.1
39 sub
40 ldarg.3
41 ldc.i4.1
42 sub
43 tail. callvirt instance int32 A::ivtail2(int64, int64, int32)
44 ret
45 IL_0015: ldarg.1
46 ldloca.s V_0
47 conv.u
48 ldarg.2
49 ldstr "ivtail1"
50 call int32 A::check(int64, uint8*, int64, string)
51 ret
53 .method private hidebysig static int32 check(uint8* root_stack, uint8* local, int64 diff_stack, string name) cil managed noinlining {
54 .maxstack 8
55 ldarg.1
56 ldarg.0
57 sub
58 ldc.i4.1
59 div
60 conv.i8
61 ldarg.2
62 beq.s IL_0026
63 ldstr "{0} failure {1}"
64 ldarg.3
65 ldarg.0
66 ldarg.1
67 sub
68 ldc.i4.1
69 div
70 conv.i8
71 box [mscorlib]System.Int64
72 call string [mscorlib]System.String::Format(string, object, object)
73 call void [mscorlib]System.Console::WriteLine(string)
74 ldc.i4.1
75 ret
76 IL_0026: ldstr "{0} success"
77 ldarg.3
78 call string [mscorlib]System.String::Format(string, object)
79 call void [mscorlib]System.Console::WriteLine(string)
80 ldc.i4.0
81 ret
83 .method private hidebysig static int32 check(int64 root_stack, uint8* local, int64 diff_stack, string name) cil managed noinlining {
84 .maxstack 8
85 ldarg.0
86 conv.u
87 ldarg.1
88 ldarg.2
89 ldarg.3
90 call int32 A::check(uint8*, uint8*, int64, string)
91 ret