// 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 MCCTest {} .module mcc_i72.exe .namespace MCCTest { .class MyClass { .method assembly static pinvokeimpl("native_i7c" as "#1" cdecl) vararg valuetype MCCTest.VType7 Sum(float64, int32, int64, float32, int16, float64) cil managed preservesig { } .method private valuetype MCCTest.VType7 GetSum() { .maxstack 64 .locals init ( [0] valuetype MCCTest.VType7 v1, [1] valuetype MCCTest.VType7 v2, [2] valuetype MCCTest.VType7 v3, [3] valuetype MCCTest.VType7 v4, [4] valuetype MCCTest.VType7 v5, [5] valuetype MCCTest.VType7 v6, [6] valuetype MCCTest.VType7 v7, [7] valuetype MCCTest.VType7 v8, [8] valuetype MCCTest.VType7 v9, [9] valuetype MCCTest.VType7 v10, [10] valuetype MCCTest.VType7 v11, [11] valuetype MCCTest.VType7 v12 ) // Initialize v1 thru v12 ldloca.s v1 call instance void MCCTest.VType7::Init() ldloca.s v2 call instance void MCCTest.VType7::Init() ldloca.s v3 call instance void MCCTest.VType7::Init() ldloca.s v4 call instance void MCCTest.VType7::Init() ldloca.s v5 call instance void MCCTest.VType7::Init() ldloca.s v6 call instance void MCCTest.VType7::Init() ldloca.s v7 call instance void MCCTest.VType7::Init() ldloca.s v8 call instance void MCCTest.VType7::Init() ldloca.s v9 call instance void MCCTest.VType7::Init() ldloca.s v10 call instance void MCCTest.VType7::Init() ldloca.s v11 call instance void MCCTest.VType7::Init() ldloca.s v12 call instance void MCCTest.VType7::Init() ldc.r8 5 ldc.i4 1 ldc.i8 2 ldc.r4 -1 ldc.i4 -3 conv.i2 ldc.r8 8 ldloc.s v1 ldloc.s v2 ldloc.s v3 ldloc.s v4 ldloc.s v5 ldloc.s v6 ldloc.s v7 ldloc.s v8 ldloc.s v9 ldloc.s v10 ldloc.s v11 ldloc.s v12 tail. call vararg valuetype MCCTest.VType7 MCCTest.MyClass::Sum(float64, int32, int64, float32, int16, float64, ..., valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7, valuetype MCCTest.VType7) ret } .method public specialname rtspecialname instance void .ctor() { .maxstack 1 ldarg.0 call instance void [mscorlib]System.Object::.ctor() ret } // end of method MyClass::.ctor .method private static int32 Main(string[] args) { .entrypoint .maxstack 64 .locals init ( [0] class MCCTest.MyClass me, [1] valuetype MCCTest.VType7 res, [2] int32 rc ) newobj instance void MCCTest.MyClass::.ctor() stloc.s me ldloc.s me call instance valuetype MCCTest.VType7 MCCTest.MyClass::GetSum() stloc.s res // Check Result ldloc.s res ldc.i4 12 call int32 MCCTest.Common::CheckResult(valuetype MCCTest.VType7, int32) stloc.s rc ldloc.s rc ret } // end of method MyClass::Main } // end of class MyClass } // end of namespace MCCTest