summaryrefslogtreecommitdiff
path: root/tests/src/JIT/Methodical/tailcall/compat_v.il
blob: 3fe83671d8b1e3d2c1eb06a08402785e013cdc04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

.assembly extern mscorlib { }
.assembly extern System.Console
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
  .ver 4:0:0:0
}
.assembly compat_v { }
.namespace JitTest
{
  .class public sequential ansi sealed beforefieldinit BaseStruct
         extends [mscorlib]System.ValueType
  {
    .pack 1
    .size 1024
    .method public hidebysig  static 
            value class JitTest.BaseStruct 
            caller(bool which) il managed
    {
      // Code size       22 (0x16)
      .maxstack  1
      .locals (value class JitTest.BaseStruct V_0,
               value class JitTest.BaseStruct V_1)
      IL_0000:  ldarg.0
      IL_0001:  brfalse.s  IL_000e

      IL_0003:  ldloca.s   V_1
      IL_0005:  initobj    JitTest.BaseStruct
      IL_000b:  ldloc.1
      IL_000c:  br.s       IL_0015

      IL_000e:  tail.
      IL_0010:  call       value class JitTest.BaseStruct JitTest.BaseStruct::callee()
      IL_0015:  ret
    } // end of method BaseStruct::caller

    .method public hidebysig  static 
            value class JitTest.BaseStruct
            callee() il managed
    {
      // Code size       14 (0xe)
      .maxstack  1
      .locals (value class JitTest.BaseStruct V_0,
               value class JitTest.BaseStruct V_1)
      IL_0000:  ldloca.s   V_1
      IL_0002:  initobj    JitTest.BaseStruct
      IL_0008:  ldloc.1
      IL_0009:  stloc.0
      IL_000a:  br.s       IL_000c

      IL_000c:  ldloc.0
      IL_000d:  ret
    } // end of method BaseStruct::callee

    .method public hidebysig  static 
            int32 Main() il managed
    {
      .entrypoint
      // Code size       55 (0x37)
      .maxstack  1
      .locals (int32 V_0)
      IL_0000:  ldc.i4.0
      IL_0001:  call       value class JitTest.BaseStruct JitTest.BaseStruct::caller(bool)
      //IL_0006:  stloc.1
      //IL_0007:  ldloc.s   V_1
      IL_0009:  box        JitTest.BaseStruct
      IL_000e:  call       void [System.Console]System.Console::WriteLine(class System.Object)
      IL_0013:  ldc.i4.1
      IL_0014:  call       value class JitTest.BaseStruct JitTest.BaseStruct::caller(bool)
      //IL_0019:  stloc.1
      //IL_001a:  ldloc.s   V_1
      IL_001c:  box        JitTest.BaseStruct
      IL_0021:  call       void [System.Console]System.Console::WriteLine(class System.Object)
      IL_0026:  ldstr      "passed"
      IL_002b:  call       void [System.Console]System.Console::WriteLine(class System.String)
      IL_0030:  ldc.i4.s   100
      			ret
    } // end of method BaseStruct::Main

  } // end of class BaseStruct

} // end of namespace JitTest

//*********** DISASSEMBLY COMPLETE ***********************