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
|