当前位置: 首页>>代码示例>>C#>>正文


C# JitInterface.CORINFO_SIG_INFO类代码示例

本文整理汇总了C#中Internal.JitInterface.CORINFO_SIG_INFO的典型用法代码示例。如果您正苦于以下问题:C# CORINFO_SIG_INFO类的具体用法?C# CORINFO_SIG_INFO怎么用?C# CORINFO_SIG_INFO使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CORINFO_SIG_INFO类属于Internal.JitInterface命名空间,在下文中一共展示了CORINFO_SIG_INFO类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: getArgType_wrapper

        public virtual CorInfoTypeWithMod getArgType_wrapper(IntPtr _this, out IntPtr exception, CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_STRUCT_* args, ref CORINFO_CLASS_STRUCT_* vcTypeRet)
        {
            exception = IntPtr.Zero;
            try
            {
                return getArgType(sig, args, ref vcTypeRet);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (CorInfoTypeWithMod)0;
        }
开发者ID:nguerrera,项目名称:corert,代码行数:14,代码来源:CorInfoBase.cs

示例2: getMethodSig

        private void getMethodSig(IntPtr _this, CORINFO_METHOD_STRUCT_* ftn, CORINFO_SIG_INFO* sig, CORINFO_CLASS_STRUCT_* memberParent)
        {
            MethodDesc method = HandleToObject(ftn);

            Get_CORINFO_SIG_INFO(method.Signature, out *sig);
        }
开发者ID:smartmaster,项目名称:corert,代码行数:6,代码来源:CorInfoImpl.cs

示例3: findSig

 private void findSig(IntPtr _this, CORINFO_MODULE_STRUCT_* module, uint sigTOK, CORINFO_CONTEXT_STRUCT* context, CORINFO_SIG_INFO* sig)
 {
     var methodIL = (MethodIL)HandleToObject((IntPtr)module);
     Get_CORINFO_SIG_INFO((MethodSignature)methodIL.GetObject((int)sigTOK), out *sig);
 }
开发者ID:smartmaster,项目名称:corert,代码行数:5,代码来源:CorInfoImpl.cs

示例4: getTailCallCopyArgsThunk

 private void* getTailCallCopyArgsThunk(IntPtr _this, CORINFO_SIG_INFO* pSig, CorInfoHelperTailCallSpecialHandling flags)
 { throw new NotImplementedException("getTailCallCopyArgsThunk"); }
开发者ID:smartmaster,项目名称:corert,代码行数:2,代码来源:CorInfoImpl.cs

示例5: Get_CORINFO_SIG_INFO

        private void Get_CORINFO_SIG_INFO(MethodSignature signature, out CORINFO_SIG_INFO sig)
        {
            sig.callConv = (CorInfoCallConv)0;
            if (!signature.IsStatic) sig.callConv |= CorInfoCallConv.CORINFO_CALLCONV_HASTHIS;

            TypeDesc returnType = signature.ReturnType;

            CorInfoType corInfoRetType = asCorInfoType(signature.ReturnType, out sig.retTypeClass);
            sig._retType = (byte)corInfoRetType;
            sig.retTypeSigClass = sig.retTypeClass; // The difference between the two is not relevant for ILCompiler

            sig.flags = 0;    // used by IL stubs code

            sig.numArgs = (ushort)signature.Length;

            sig.args = (CORINFO_ARG_LIST_STRUCT_*)0; // CORINFO_ARG_LIST_STRUCT_ is argument index

            // TODO: Shared generic
            sig.sigInst.classInst = null;
            sig.sigInst.classInstCount = 0;
            sig.sigInst.methInst = null;
            sig.sigInst.methInstCount = 0;

            sig.pSig = (byte*)ObjectToHandle(signature);
            sig.cbSig = 0; // Not used by the JIT
            sig.scope = null; // Not used by the JIT
            sig.token = 0; // Not used by the JIT

            // TODO: Shared generic
            // if (ftn->RequiresInstArg())
            // {
            //     sig.callConv = (CorInfoCallConv)(sig.callConv | CORINFO_CALLCONV_PARAMTYPE);
            // }
        }
开发者ID:smartmaster,项目名称:corert,代码行数:34,代码来源:CorInfoImpl.cs

示例6: GetCookieForPInvokeCalliSig

 private void* GetCookieForPInvokeCalliSig(IntPtr _this, CORINFO_SIG_INFO* szMetaSig, ref void* ppIndirection)
 { throw new NotImplementedException("GetCookieForPInvokeCalliSig"); }
开发者ID:smartmaster,项目名称:corert,代码行数:2,代码来源:CorInfoImpl.cs

示例7: getVarArgsHandle

 private IntPtr getVarArgsHandle(IntPtr _this, CORINFO_SIG_INFO* pSig, ref void* ppIndirection)
 { throw new NotImplementedException("getVarArgsHandle"); }
开发者ID:smartmaster,项目名称:corert,代码行数:2,代码来源:CorInfoImpl.cs

示例8: getTailCallCopyArgsThunk_wrapper

        public virtual void* getTailCallCopyArgsThunk_wrapper(IntPtr _this, out IntPtr exception, CORINFO_SIG_INFO* pSig, CorInfoHelperTailCallSpecialHandling flags)
        {
            exception = IntPtr.Zero;
            try
            {
                return getTailCallCopyArgsThunk(pSig, flags);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (void*)0;
        }
开发者ID:nguerrera,项目名称:corert,代码行数:14,代码来源:CorInfoBase.cs

示例9: recordCallSite_wrapper

 public virtual void recordCallSite_wrapper(IntPtr _this, out IntPtr exception, uint instrOffset, CORINFO_SIG_INFO* callSig, CORINFO_METHOD_STRUCT_* methodHandle)
 {
     exception = IntPtr.Zero;
     try
     {
         recordCallSite(instrOffset, callSig, methodHandle);
         return;
     }
     catch (Exception ex)
     {
         exception = AllocException(ex);
     }
 }
开发者ID:nguerrera,项目名称:corert,代码行数:13,代码来源:CorInfoBase.cs

示例10: getVarArgsHandle_wrapper

        public virtual IntPtr getVarArgsHandle_wrapper(IntPtr _this, out IntPtr exception, CORINFO_SIG_INFO* pSig, ref void* ppIndirection)
        {
            exception = IntPtr.Zero;
            try
            {
                return getVarArgsHandle(pSig, ref ppIndirection);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (IntPtr)0;
        }
开发者ID:nguerrera,项目名称:corert,代码行数:14,代码来源:CorInfoBase.cs

示例11: MarshalAs

        [return: MarshalAs(UnmanagedType.I1)]public virtual bool canGetVarArgsHandle_wrapper(IntPtr _this, out IntPtr exception, CORINFO_SIG_INFO* pSig)
        {
            exception = IntPtr.Zero;
            try
            {
                return canGetVarArgsHandle(pSig);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return false;
        }
开发者ID:nguerrera,项目名称:corert,代码行数:14,代码来源:CorInfoBase.cs

示例12: GetCookieForPInvokeCalliSig_wrapper

        public virtual void* GetCookieForPInvokeCalliSig_wrapper(IntPtr _this, out IntPtr exception, CORINFO_SIG_INFO* szMetaSig, ref void* ppIndirection)
        {
            exception = IntPtr.Zero;
            try
            {
                return GetCookieForPInvokeCalliSig(szMetaSig, ref ppIndirection);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (void*)0;
        }
开发者ID:nguerrera,项目名称:corert,代码行数:14,代码来源:CorInfoBase.cs

示例13: getArgClass_wrapper

        public virtual CORINFO_CLASS_STRUCT_* getArgClass_wrapper(IntPtr _this, out IntPtr exception, CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_STRUCT_* args)
        {
            exception = IntPtr.Zero;
            try
            {
                return getArgClass(sig, args);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (CORINFO_CLASS_STRUCT_*)0;
        }
开发者ID:nguerrera,项目名称:corert,代码行数:14,代码来源:CorInfoBase.cs

示例14: getArgType

        private CorInfoTypeWithMod getArgType(IntPtr _this, CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_STRUCT_* args, ref CORINFO_CLASS_STRUCT_* vcTypeRet)
        {
            int index = (int)args;
            Object sigObj = HandleToObject((IntPtr)sig->pSig);

            MethodSignature methodSig = sigObj as MethodSignature;

            if (methodSig != null)
            {
                TypeDesc type = methodSig[index];

                CorInfoType corInfoType = asCorInfoType(type, out vcTypeRet);
                return (CorInfoTypeWithMod)corInfoType;
            }
            else
            {
                LocalVariableDefinition[] locals = (LocalVariableDefinition[])sigObj;
                TypeDesc type = locals[index].Type;

                CorInfoType corInfoType = asCorInfoType(type, out vcTypeRet);

                return (CorInfoTypeWithMod)corInfoType | (locals[index].IsPinned ? CorInfoTypeWithMod.CORINFO_TYPE_MOD_PINNED : 0);
            }
        }
开发者ID:smartmaster,项目名称:corert,代码行数:24,代码来源:CorInfoImpl.cs

示例15: getMethodSig_wrapper

 public virtual void getMethodSig_wrapper(IntPtr _this, out IntPtr exception, CORINFO_METHOD_STRUCT_* ftn, CORINFO_SIG_INFO* sig, CORINFO_CLASS_STRUCT_* memberParent)
 {
     exception = IntPtr.Zero;
     try
     {
         getMethodSig(ftn, sig, memberParent);
         return;
     }
     catch (Exception ex)
     {
         exception = AllocException(ex);
     }
 }
开发者ID:nguerrera,项目名称:corert,代码行数:13,代码来源:CorInfoBase.cs


注:本文中的Internal.JitInterface.CORINFO_SIG_INFO类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。