summaryrefslogtreecommitdiff
path: root/tests/src/JIT/jit64/mcc/interop/mcc_i01.il
blob: 6367cd072811249a2fb5e962560140ce1ab7caa2 (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
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.


.assembly extern mscorlib {}
.assembly MCCTest {}
.module mcc_i01.exe


.namespace MCCTest
{
  .class MyClass
  {
    .method assembly static pinvokeimpl("native_i0c" as "#1" cdecl) 
        vararg valuetype MCCTest.VType0 Sum(unsigned int64) cil managed preservesig {
    }

    .method private static int32 Main(string[] args)
    {
      .entrypoint
      .maxstack  64
      .locals init	(
        [0] valuetype MCCTest.VType0 res,
        [1] int32 rc
      )
      
      ldc.i8 1
      ldc.i8 2
      ldc.i8 3
      ldc.i8 4
      ldc.i8 5
      ldc.i8 6
      ldc.i8 7
      ldc.i8 8
      ldc.i8 9
      ldc.i8 10
      ldc.i8 11
      ldc.i8 12
      ldc.i8 1
      neg
      ldftn   vararg valuetype MCCTest.VType0 MCCTest.MyClass::Sum(unsigned int64)
      calli   vararg valuetype MCCTest.VType0(unsigned int64, ..., 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64, 
                                                unsigned int64)
      stloc.s    res

      // Check Result
      ldloc.s    res
      ldc.i4     12
      call       int32 MCCTest.Common::CheckResult(valuetype MCCTest.VType0, int32)
      stloc.s    rc
      
      ldloc.s    rc
      ret
    } // end of method MyClass::Main

  } // end of class MyClass

} // end of namespace MCCTest