本文整理汇总了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类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: getArgClass
private CORINFO_CLASS_STRUCT_* getArgClass(IntPtr _this, CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_STRUCT_* args)
{
int index = (int)args;
Object sigObj = HandleToObject((IntPtr)sig->pSig);
MethodSignature methodSig = sigObj as MethodSignature;
if (methodSig != null)
{
TypeDesc type = methodSig[index];
return ObjectToHandle(type);
}
else
{
LocalVariableDefinition[] locals = (LocalVariableDefinition[])sigObj;
TypeDesc type = locals[index].Type;
return ObjectToHandle(type);
}
}
开发者ID:smartmaster,项目名称:corert,代码行数:18,代码来源:CorInfoImpl.cs
示例17: canGetCookieForPInvokeCalliSig
private bool canGetCookieForPInvokeCalliSig(IntPtr _this, CORINFO_SIG_INFO* szMetaSig)
{ throw new NotImplementedException("canGetCookieForPInvokeCalliSig"); }
开发者ID:smartmaster,项目名称:corert,代码行数:2,代码来源:CorInfoImpl.cs
示例18: findCallSiteSig_wrapper
public virtual void findCallSiteSig_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* module, uint methTOK, CORINFO_CONTEXT_STRUCT* context, CORINFO_SIG_INFO* sig)
{
exception = IntPtr.Zero;
try
{
findCallSiteSig(module, methTOK, context, sig);
return;
}
catch (Exception ex)
{
exception = AllocException(ex);
}
}
开发者ID:nguerrera,项目名称:corert,代码行数:13,代码来源:CorInfoBase.cs
示例19: canGetVarArgsHandle
private bool canGetVarArgsHandle(IntPtr _this, CORINFO_SIG_INFO* pSig)
{ throw new NotImplementedException("canGetVarArgsHandle"); }
开发者ID:smartmaster,项目名称:corert,代码行数:2,代码来源:CorInfoImpl.cs
示例20: Get_CORINFO_SIG_INFO
private void Get_CORINFO_SIG_INFO(MethodDesc method, out CORINFO_SIG_INFO sig)
{
Get_CORINFO_SIG_INFO(method.Signature, out sig);
// Does the method have a hidden parameter?
if (method.RequiresInstArg())
{
sig.callConv |= CorInfoCallConv.CORINFO_CALLCONV_PARAMTYPE;
}
}
开发者ID:hoyMS,项目名称:corert,代码行数:10,代码来源:CorInfoImpl.cs
注:本文中的Internal.JitInterface.CORINFO_SIG_INFO类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论