Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2017-10-11 01:48:47 +0300
committerGitHub <noreply@github.com>2017-10-11 01:48:47 +0300
commit3f535bc5ab533146068492249053c7397808a08b (patch)
tree32c178a44b00ee9e663c683196b00aa9f8f8ba7b /src/Native
parent355946f5d5a74376274ba8c8be96dcd33290c51c (diff)
Use default calling convention for jitinterface wrapper (#4700)
Diffstat (limited to 'src/Native')
-rw-r--r--src/Native/jitinterface/corinfoexception.cpp6
-rw-r--r--src/Native/jitinterface/jithost.cpp12
-rw-r--r--src/Native/jitinterface/jitinterface.h338
3 files changed, 181 insertions, 175 deletions
diff --git a/src/Native/jitinterface/corinfoexception.cpp b/src/Native/jitinterface/corinfoexception.cpp
index 20c063f80..124080f9b 100644
--- a/src/Native/jitinterface/corinfoexception.cpp
+++ b/src/Native/jitinterface/corinfoexception.cpp
@@ -5,17 +5,17 @@
#include "corinfoexception.h"
#include "dllexport.h"
-DLL_EXPORT CorInfoException* __stdcall AllocException(const WCHAR* message, int messageLength)
+DLL_EXPORT CorInfoException* AllocException(const WCHAR* message, int messageLength)
{
return new CorInfoException(message, messageLength);
}
-DLL_EXPORT void __stdcall FreeException(CorInfoException* pException)
+DLL_EXPORT void FreeException(CorInfoException* pException)
{
delete pException;
}
-DLL_EXPORT const WCHAR* __stdcall GetExceptionMessage(const CorInfoException* pException)
+DLL_EXPORT const WCHAR* GetExceptionMessage(const CorInfoException* pException)
{
return pException->GetMessage();
}
diff --git a/src/Native/jitinterface/jithost.cpp b/src/Native/jitinterface/jithost.cpp
index 351fe72a4..281f7a375 100644
--- a/src/Native/jitinterface/jithost.cpp
+++ b/src/Native/jitinterface/jithost.cpp
@@ -6,15 +6,21 @@
#include "dllexport.h"
+#ifdef PLATFORM_UNIX
+#define DEFAULT_CALL_CONV __cdecl
+#else
+#define DEFAULT_CALL_CONV __stdcall
+#endif
+
class JitConfigProvider
{
public:
- virtual int getIntConfigValue(
+ virtual int DEFAULT_CALL_CONV getIntConfigValue(
const wchar_t* name,
int defaultValue
) = 0;
- virtual int getStringConfigValue(
+ virtual int DEFAULT_CALL_CONV getStringConfigValue(
const wchar_t* name,
wchar_t* retBuffer,
int retBufferLength
@@ -78,7 +84,7 @@ public:
}
};
-DLL_EXPORT void* __stdcall GetJitHost(JitConfigProvider* pConfigProvider)
+DLL_EXPORT void* GetJitHost(JitConfigProvider* pConfigProvider)
{
return new JitHost(pConfigProvider);
}
diff --git a/src/Native/jitinterface/jitinterface.h b/src/Native/jitinterface/jitinterface.h
index cb3598a76..3d6a61500 100644
--- a/src/Native/jitinterface/jitinterface.h
+++ b/src/Native/jitinterface/jitinterface.h
@@ -10,175 +10,175 @@ struct CORINFO_LOOKUP_KIND;
struct JitInterfaceCallbacks
{
- unsigned int (__stdcall * getMethodAttribs)(void * thisHandle, CorInfoException** ppException, void* ftn);
- void (__stdcall * setMethodAttribs)(void * thisHandle, CorInfoException** ppException, void* ftn, int attribs);
- void (__stdcall * getMethodSig)(void * thisHandle, CorInfoException** ppException, void* ftn, void* sig, void* memberParent);
- bool (__stdcall * getMethodInfo)(void * thisHandle, CorInfoException** ppException, void* ftn, void* info);
- int (__stdcall * canInline)(void * thisHandle, CorInfoException** ppException, void* callerHnd, void* calleeHnd, unsigned int* pRestrictions);
- void (__stdcall * reportInliningDecision)(void * thisHandle, CorInfoException** ppException, void* inlinerHnd, void* inlineeHnd, int inlineResult, const char* reason);
- bool (__stdcall * canTailCall)(void * thisHandle, CorInfoException** ppException, void* callerHnd, void* declaredCalleeHnd, void* exactCalleeHnd, bool fIsTailPrefix);
- void (__stdcall * reportTailCallDecision)(void * thisHandle, CorInfoException** ppException, void* callerHnd, void* calleeHnd, bool fIsTailPrefix, int tailCallResult, const char* reason);
- void (__stdcall * getEHinfo)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned EHnumber, void* clause);
- void* (__stdcall * getMethodClass)(void * thisHandle, CorInfoException** ppException, void* method);
- void* (__stdcall * getMethodModule)(void * thisHandle, CorInfoException** ppException, void* method);
- void (__stdcall * getMethodVTableOffset)(void * thisHandle, CorInfoException** ppException, void* method, unsigned* offsetOfIndirection, unsigned* offsetAfterIndirection, bool* isRelative);
- void* (__stdcall * resolveVirtualMethod)(void * thisHandle, CorInfoException** ppException, void* virtualMethod, void* implementingClass, void* ownerType);
- void* (__stdcall * getDefaultEqualityComparerClass)(void * thisHandle, CorInfoException** ppException, void* elemType);
- void (__stdcall * expandRawHandleIntrinsic)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* pResult);
- int (__stdcall * getIntrinsicID)(void * thisHandle, CorInfoException** ppException, void* method, bool* pMustExpand);
- bool (__stdcall * isInSIMDModule)(void * thisHandle, CorInfoException** ppException, void* classHnd);
- int (__stdcall * getUnmanagedCallConv)(void * thisHandle, CorInfoException** ppException, void* method);
- int (__stdcall * pInvokeMarshalingRequired)(void * thisHandle, CorInfoException** ppException, void* method, void* callSiteSig);
- int (__stdcall * satisfiesMethodConstraints)(void * thisHandle, CorInfoException** ppException, void* parent, void* method);
- int (__stdcall * isCompatibleDelegate)(void * thisHandle, CorInfoException** ppException, void* objCls, void* methodParentCls, void* method, void* delegateCls, int* pfIsOpenDelegate);
- int (__stdcall * isInstantiationOfVerifiedGeneric)(void * thisHandle, CorInfoException** ppException, void* method);
- void (__stdcall * initConstraintsForVerification)(void * thisHandle, CorInfoException** ppException, void* method, int* pfHasCircularClassConstraints, int* pfHasCircularMethodConstraint);
- int (__stdcall * canSkipMethodVerification)(void * thisHandle, CorInfoException** ppException, void* ftnHandle);
- void (__stdcall * methodMustBeLoadedBeforeCodeIsRun)(void * thisHandle, CorInfoException** ppException, void* method);
- void* (__stdcall * mapMethodDeclToMethodImpl)(void * thisHandle, CorInfoException** ppException, void* method);
- void (__stdcall * getGSCookie)(void * thisHandle, CorInfoException** ppException, void* pCookieVal, void** ppCookieVal);
- void (__stdcall * resolveToken)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken);
- void (__stdcall * tryResolveToken)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken);
- void (__stdcall * findSig)(void * thisHandle, CorInfoException** ppException, void* module, unsigned sigTOK, void* context, void* sig);
- void (__stdcall * findCallSiteSig)(void * thisHandle, CorInfoException** ppException, void* module, unsigned methTOK, void* context, void* sig);
- void* (__stdcall * getTokenTypeAsHandle)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken);
- int (__stdcall * canSkipVerification)(void * thisHandle, CorInfoException** ppException, void* module);
- int (__stdcall * isValidToken)(void * thisHandle, CorInfoException** ppException, void* module, unsigned metaTOK);
- int (__stdcall * isValidStringRef)(void * thisHandle, CorInfoException** ppException, void* module, unsigned metaTOK);
- int (__stdcall * shouldEnforceCallvirtRestriction)(void * thisHandle, CorInfoException** ppException, void* scope);
- int (__stdcall * asCorInfoType)(void * thisHandle, CorInfoException** ppException, void* cls);
- const char* (__stdcall * getClassName)(void * thisHandle, CorInfoException** ppException, void* cls);
- int (__stdcall * appendClassName)(void * thisHandle, CorInfoException** ppException, wchar_t** ppBuf, int* pnBufLen, void* cls, int fNamespace, int fFullInst, int fAssembly);
- int (__stdcall * isValueClass)(void * thisHandle, CorInfoException** ppException, void* cls);
- int (__stdcall * canInlineTypeCheckWithObjectVTable)(void * thisHandle, CorInfoException** ppException, void* cls);
- unsigned int (__stdcall * getClassAttribs)(void * thisHandle, CorInfoException** ppException, void* cls);
- int (__stdcall * isStructRequiringStackAllocRetBuf)(void * thisHandle, CorInfoException** ppException, void* cls);
- void* (__stdcall * getClassModule)(void * thisHandle, CorInfoException** ppException, void* cls);
- void* (__stdcall * getModuleAssembly)(void * thisHandle, CorInfoException** ppException, void* mod);
- const char* (__stdcall * getAssemblyName)(void * thisHandle, CorInfoException** ppException, void* assem);
- void* (__stdcall * LongLifetimeMalloc)(void * thisHandle, CorInfoException** ppException, size_t sz);
- void (__stdcall * LongLifetimeFree)(void * thisHandle, CorInfoException** ppException, void* obj);
- size_t (__stdcall * getClassModuleIdForStatics)(void * thisHandle, CorInfoException** ppException, void* cls, void* pModule, void** ppIndirection);
- unsigned (__stdcall * getClassSize)(void * thisHandle, CorInfoException** ppException, void* cls);
- unsigned (__stdcall * getClassAlignmentRequirement)(void * thisHandle, CorInfoException** ppException, void* cls, int fDoubleAlignHint);
- unsigned (__stdcall * getClassGClayout)(void * thisHandle, CorInfoException** ppException, void* cls, unsigned char* gcPtrs);
- unsigned (__stdcall * getClassNumInstanceFields)(void * thisHandle, CorInfoException** ppException, void* cls);
- void* (__stdcall * getFieldInClass)(void * thisHandle, CorInfoException** ppException, void* clsHnd, int num);
- int (__stdcall * checkMethodModifier)(void * thisHandle, CorInfoException** ppException, void* hMethod, const char* modifier, int fOptional);
- int (__stdcall * getNewHelper)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* callerHandle);
- int (__stdcall * getNewArrHelper)(void * thisHandle, CorInfoException** ppException, void* arrayCls);
- int (__stdcall * getCastingHelper)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, bool fThrowing);
- int (__stdcall * getSharedCCtorHelper)(void * thisHandle, CorInfoException** ppException, void* clsHnd);
- int (__stdcall * getSecurityPrologHelper)(void * thisHandle, CorInfoException** ppException, void* ftn);
- void* (__stdcall * getTypeForBox)(void * thisHandle, CorInfoException** ppException, void* cls);
- int (__stdcall * getBoxHelper)(void * thisHandle, CorInfoException** ppException, void* cls);
- int (__stdcall * getUnBoxHelper)(void * thisHandle, CorInfoException** ppException, void* cls);
- bool (__stdcall * getReadyToRunHelper)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* pGenericLookupKind, int id, void* pLookup);
- void (__stdcall * getReadyToRunDelegateCtorHelper)(void * thisHandle, CorInfoException** ppException, void* pTargetMethod, void* delegateType, void* pLookup);
- const char* (__stdcall * getHelperName)(void * thisHandle, CorInfoException** ppException, int helpFunc);
- int (__stdcall * initClass)(void * thisHandle, CorInfoException** ppException, void* field, void* method, void* context, int speculative);
- void (__stdcall * classMustBeLoadedBeforeCodeIsRun)(void * thisHandle, CorInfoException** ppException, void* cls);
- void* (__stdcall * getBuiltinClass)(void * thisHandle, CorInfoException** ppException, int classId);
- int (__stdcall * getTypeForPrimitiveValueClass)(void * thisHandle, CorInfoException** ppException, void* cls);
- int (__stdcall * canCast)(void * thisHandle, CorInfoException** ppException, void* child, void* parent);
- int (__stdcall * areTypesEquivalent)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2);
- int (__stdcall * compareTypesForCast)(void * thisHandle, CorInfoException** ppException, void* fromClass, void* toClass);
- int (__stdcall * compareTypesForEquality)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2);
- void* (__stdcall * mergeClasses)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2);
- void* (__stdcall * getParentType)(void * thisHandle, CorInfoException** ppException, void* cls);
- int (__stdcall * getChildType)(void * thisHandle, CorInfoException** ppException, void* clsHnd, void* clsRet);
- int (__stdcall * satisfiesClassConstraints)(void * thisHandle, CorInfoException** ppException, void* cls);
- int (__stdcall * isSDArray)(void * thisHandle, CorInfoException** ppException, void* cls);
- unsigned (__stdcall * getArrayRank)(void * thisHandle, CorInfoException** ppException, void* cls);
- void* (__stdcall * getArrayInitializationData)(void * thisHandle, CorInfoException** ppException, void* field, unsigned int size);
- int (__stdcall * canAccessClass)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* callerHandle, void* pAccessHelper);
- const char* (__stdcall * getFieldName)(void * thisHandle, CorInfoException** ppException, void* ftn, const char** moduleName);
- void* (__stdcall * getFieldClass)(void * thisHandle, CorInfoException** ppException, void* field);
- int (__stdcall * getFieldType)(void * thisHandle, CorInfoException** ppException, void* field, void* structType, void* memberParent);
- unsigned (__stdcall * getFieldOffset)(void * thisHandle, CorInfoException** ppException, void* field);
- bool (__stdcall * isWriteBarrierHelperRequired)(void * thisHandle, CorInfoException** ppException, void* field);
- void (__stdcall * getFieldInfo)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* callerHandle, int flags, void* pResult);
- bool (__stdcall * isFieldStatic)(void * thisHandle, CorInfoException** ppException, void* fldHnd);
- void (__stdcall * getBoundaries)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned int* cILOffsets, unsigned int** pILOffsets, void* implictBoundaries);
- void (__stdcall * setBoundaries)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned int cMap, void* pMap);
- void (__stdcall * getVars)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned int* cVars, void* vars, bool* extendOthers);
- void (__stdcall * setVars)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned int cVars, void* vars);
- void* (__stdcall * allocateArray)(void * thisHandle, CorInfoException** ppException, unsigned int cBytes);
- void (__stdcall * freeArray)(void * thisHandle, CorInfoException** ppException, void* array);
- void* (__stdcall * getArgNext)(void * thisHandle, CorInfoException** ppException, void* args);
- int (__stdcall * getArgType)(void * thisHandle, CorInfoException** ppException, void* sig, void* args, void* vcTypeRet);
- void* (__stdcall * getArgClass)(void * thisHandle, CorInfoException** ppException, void* sig, void* args);
- int (__stdcall * getHFAType)(void * thisHandle, CorInfoException** ppException, void* hClass);
- int (__stdcall * GetErrorHRESULT)(void * thisHandle, CorInfoException** ppException, void* pExceptionPointers);
- unsigned int (__stdcall * GetErrorMessage)(void * thisHandle, CorInfoException** ppException, wchar_t* buffer, unsigned int bufferLength);
- int (__stdcall * FilterException)(void * thisHandle, CorInfoException** ppException, void* pExceptionPointers);
- void (__stdcall * HandleException)(void * thisHandle, CorInfoException** ppException, void* pExceptionPointers);
- void (__stdcall * ThrowExceptionForJitResult)(void * thisHandle, CorInfoException** ppException, int result);
- void (__stdcall * ThrowExceptionForHelper)(void * thisHandle, CorInfoException** ppException, const void* throwHelper);
- bool (__stdcall * runWithErrorTrap)(void * thisHandle, CorInfoException** ppException, void* function, void* parameter);
- void (__stdcall * getEEInfo)(void * thisHandle, CorInfoException** ppException, void* pEEInfoOut);
- const wchar_t* (__stdcall * getJitTimeLogFilename)(void * thisHandle, CorInfoException** ppException);
- unsigned int (__stdcall * getMethodDefFromMethod)(void * thisHandle, CorInfoException** ppException, void* hMethod);
- const char* (__stdcall * getMethodName)(void * thisHandle, CorInfoException** ppException, void* ftn, const char** moduleName);
- const char* (__stdcall * getMethodNameFromMetadata)(void * thisHandle, CorInfoException** ppException, void* ftn, const char** className, const char** namespaceName);
- unsigned (__stdcall * getMethodHash)(void * thisHandle, CorInfoException** ppException, void* ftn);
- size_t (__stdcall * findNameOfToken)(void * thisHandle, CorInfoException** ppException, void* moduleHandle, unsigned int token, char* szFQName, size_t FQNameCapacity);
- bool (__stdcall * getSystemVAmd64PassStructInRegisterDescriptor)(void * thisHandle, CorInfoException** ppException, void* structHnd, void* structPassInRegDescPtr);
- unsigned int (__stdcall * getThreadTLSIndex)(void * thisHandle, CorInfoException** ppException, void** ppIndirection);
- const void* (__stdcall * getInlinedCallFrameVptr)(void * thisHandle, CorInfoException** ppException, void** ppIndirection);
- long* (__stdcall * getAddrOfCaptureThreadGlobal)(void * thisHandle, CorInfoException** ppException, void** ppIndirection);
- void* (__stdcall * getHelperFtn)(void * thisHandle, CorInfoException** ppException, int ftnNum, void** ppIndirection);
- void (__stdcall * getFunctionEntryPoint)(void * thisHandle, CorInfoException** ppException, void* ftn, void* pResult, int accessFlags);
- void (__stdcall * getFunctionFixedEntryPoint)(void * thisHandle, CorInfoException** ppException, void* ftn, void* pResult);
- void* (__stdcall * getMethodSync)(void * thisHandle, CorInfoException** ppException, void* ftn, void** ppIndirection);
- int (__stdcall * getLazyStringLiteralHelper)(void * thisHandle, CorInfoException** ppException, void* handle);
- void* (__stdcall * embedModuleHandle)(void * thisHandle, CorInfoException** ppException, void* handle, void** ppIndirection);
- void* (__stdcall * embedClassHandle)(void * thisHandle, CorInfoException** ppException, void* handle, void** ppIndirection);
- void* (__stdcall * embedMethodHandle)(void * thisHandle, CorInfoException** ppException, void* handle, void** ppIndirection);
- void* (__stdcall * embedFieldHandle)(void * thisHandle, CorInfoException** ppException, void* handle, void** ppIndirection);
- void (__stdcall * embedGenericHandle)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, int fEmbedParent, void* pResult);
- void (__stdcall * getLocationOfThisType)(void * thisHandle, CorInfoException** ppException, CORINFO_LOOKUP_KIND* _return, void* context);
- void* (__stdcall * getPInvokeUnmanagedTarget)(void * thisHandle, CorInfoException** ppException, void* method, void** ppIndirection);
- void* (__stdcall * getAddressOfPInvokeFixup)(void * thisHandle, CorInfoException** ppException, void* method, void** ppIndirection);
- void (__stdcall * getAddressOfPInvokeTarget)(void * thisHandle, CorInfoException** ppException, void* method, void* pLookup);
- void* (__stdcall * GetCookieForPInvokeCalliSig)(void * thisHandle, CorInfoException** ppException, void* szMetaSig, void** ppIndirection);
- bool (__stdcall * canGetCookieForPInvokeCalliSig)(void * thisHandle, CorInfoException** ppException, void* szMetaSig);
- void* (__stdcall * getJustMyCodeHandle)(void * thisHandle, CorInfoException** ppException, void* method, void** ppIndirection);
- void (__stdcall * GetProfilingHandle)(void * thisHandle, CorInfoException** ppException, int* pbHookFunction, void** pProfilerHandle, int* pbIndirectedHandles);
- void (__stdcall * getCallInfo)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* pConstrainedResolvedToken, void* callerHandle, int flags, void* pResult);
- int (__stdcall * canAccessFamily)(void * thisHandle, CorInfoException** ppException, void* hCaller, void* hInstanceType);
- int (__stdcall * isRIDClassDomainID)(void * thisHandle, CorInfoException** ppException, void* cls);
- unsigned (__stdcall * getClassDomainID)(void * thisHandle, CorInfoException** ppException, void* cls, void** ppIndirection);
- void* (__stdcall * getFieldAddress)(void * thisHandle, CorInfoException** ppException, void* field, void** ppIndirection);
- void* (__stdcall * getVarArgsHandle)(void * thisHandle, CorInfoException** ppException, void* pSig, void** ppIndirection);
- bool (__stdcall * canGetVarArgsHandle)(void * thisHandle, CorInfoException** ppException, void* pSig);
- int (__stdcall * constructStringLiteral)(void * thisHandle, CorInfoException** ppException, void* module, unsigned int metaTok, void** ppValue);
- int (__stdcall * emptyStringLiteral)(void * thisHandle, CorInfoException** ppException, void** ppValue);
- unsigned int (__stdcall * getFieldThreadLocalStoreID)(void * thisHandle, CorInfoException** ppException, void* field, void** ppIndirection);
- void (__stdcall * setOverride)(void * thisHandle, CorInfoException** ppException, void* pOverride, void* currentMethod);
- void (__stdcall * addActiveDependency)(void * thisHandle, CorInfoException** ppException, void* moduleFrom, void* moduleTo);
- void* (__stdcall * GetDelegateCtor)(void * thisHandle, CorInfoException** ppException, void* methHnd, void* clsHnd, void* targetMethodHnd, void* pCtorData);
- void (__stdcall * MethodCompileComplete)(void * thisHandle, CorInfoException** ppException, void* methHnd);
- void* (__stdcall * getTailCallCopyArgsThunk)(void * thisHandle, CorInfoException** ppException, void* pSig, int flags);
- void* (__stdcall * getMemoryManager)(void * thisHandle, CorInfoException** ppException);
- void (__stdcall * allocMem)(void * thisHandle, CorInfoException** ppException, unsigned int hotCodeSize, unsigned int coldCodeSize, unsigned int roDataSize, unsigned int xcptnsCount, int flag, void** hotCodeBlock, void** coldCodeBlock, void** roDataBlock);
- void (__stdcall * reserveUnwindInfo)(void * thisHandle, CorInfoException** ppException, int isFunclet, int isColdCode, unsigned int unwindSize);
- void (__stdcall * allocUnwindInfo)(void * thisHandle, CorInfoException** ppException, unsigned char* pHotCode, unsigned char* pColdCode, unsigned int startOffset, unsigned int endOffset, unsigned int unwindSize, unsigned char* pUnwindBlock, int funcKind);
- void* (__stdcall * allocGCInfo)(void * thisHandle, CorInfoException** ppException, size_t size);
- void (__stdcall * yieldExecution)(void * thisHandle, CorInfoException** ppException);
- void (__stdcall * setEHcount)(void * thisHandle, CorInfoException** ppException, unsigned cEH);
- void (__stdcall * setEHinfo)(void * thisHandle, CorInfoException** ppException, unsigned EHnumber, void* clause);
- int (__stdcall * logMsg)(void * thisHandle, CorInfoException** ppException, unsigned level, const char* fmt, va_list args);
- int (__stdcall * doAssert)(void * thisHandle, CorInfoException** ppException, const char* szFile, int iLine, const char* szExpr);
- void (__stdcall * reportFatalError)(void * thisHandle, CorInfoException** ppException, int result);
- int (__stdcall * allocBBProfileBuffer)(void * thisHandle, CorInfoException** ppException, unsigned int count, void** profileBuffer);
- int (__stdcall * getBBProfileData)(void * thisHandle, CorInfoException** ppException, void* ftnHnd, unsigned long* count, void** profileBuffer, unsigned long* numRuns);
- void (__stdcall * recordCallSite)(void * thisHandle, CorInfoException** ppException, unsigned int instrOffset, void* callSig, void* methodHandle);
- void (__stdcall * recordRelocation)(void * thisHandle, CorInfoException** ppException, void* location, void* target, unsigned short fRelocType, unsigned short slotNum, int addlDelta);
- unsigned short (__stdcall * getRelocTypeHint)(void * thisHandle, CorInfoException** ppException, void* target);
- void (__stdcall * getModuleNativeEntryPointRange)(void * thisHandle, CorInfoException** ppException, void** pStart, void** pEnd);
- unsigned int (__stdcall * getExpectedTargetArchitecture)(void * thisHandle, CorInfoException** ppException);
- unsigned int (__stdcall * getJitFlags)(void * thisHandle, CorInfoException** ppException, void* flags, unsigned int sizeInBytes);
+ unsigned int (* getMethodAttribs)(void * thisHandle, CorInfoException** ppException, void* ftn);
+ void (* setMethodAttribs)(void * thisHandle, CorInfoException** ppException, void* ftn, int attribs);
+ void (* getMethodSig)(void * thisHandle, CorInfoException** ppException, void* ftn, void* sig, void* memberParent);
+ bool (* getMethodInfo)(void * thisHandle, CorInfoException** ppException, void* ftn, void* info);
+ int (* canInline)(void * thisHandle, CorInfoException** ppException, void* callerHnd, void* calleeHnd, unsigned int* pRestrictions);
+ void (* reportInliningDecision)(void * thisHandle, CorInfoException** ppException, void* inlinerHnd, void* inlineeHnd, int inlineResult, const char* reason);
+ bool (* canTailCall)(void * thisHandle, CorInfoException** ppException, void* callerHnd, void* declaredCalleeHnd, void* exactCalleeHnd, bool fIsTailPrefix);
+ void (* reportTailCallDecision)(void * thisHandle, CorInfoException** ppException, void* callerHnd, void* calleeHnd, bool fIsTailPrefix, int tailCallResult, const char* reason);
+ void (* getEHinfo)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned EHnumber, void* clause);
+ void* (* getMethodClass)(void * thisHandle, CorInfoException** ppException, void* method);
+ void* (* getMethodModule)(void * thisHandle, CorInfoException** ppException, void* method);
+ void (* getMethodVTableOffset)(void * thisHandle, CorInfoException** ppException, void* method, unsigned* offsetOfIndirection, unsigned* offsetAfterIndirection, bool* isRelative);
+ void* (* resolveVirtualMethod)(void * thisHandle, CorInfoException** ppException, void* virtualMethod, void* implementingClass, void* ownerType);
+ void* (* getDefaultEqualityComparerClass)(void * thisHandle, CorInfoException** ppException, void* elemType);
+ void (* expandRawHandleIntrinsic)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* pResult);
+ int (* getIntrinsicID)(void * thisHandle, CorInfoException** ppException, void* method, bool* pMustExpand);
+ bool (* isInSIMDModule)(void * thisHandle, CorInfoException** ppException, void* classHnd);
+ int (* getUnmanagedCallConv)(void * thisHandle, CorInfoException** ppException, void* method);
+ int (* pInvokeMarshalingRequired)(void * thisHandle, CorInfoException** ppException, void* method, void* callSiteSig);
+ int (* satisfiesMethodConstraints)(void * thisHandle, CorInfoException** ppException, void* parent, void* method);
+ int (* isCompatibleDelegate)(void * thisHandle, CorInfoException** ppException, void* objCls, void* methodParentCls, void* method, void* delegateCls, int* pfIsOpenDelegate);
+ int (* isInstantiationOfVerifiedGeneric)(void * thisHandle, CorInfoException** ppException, void* method);
+ void (* initConstraintsForVerification)(void * thisHandle, CorInfoException** ppException, void* method, int* pfHasCircularClassConstraints, int* pfHasCircularMethodConstraint);
+ int (* canSkipMethodVerification)(void * thisHandle, CorInfoException** ppException, void* ftnHandle);
+ void (* methodMustBeLoadedBeforeCodeIsRun)(void * thisHandle, CorInfoException** ppException, void* method);
+ void* (* mapMethodDeclToMethodImpl)(void * thisHandle, CorInfoException** ppException, void* method);
+ void (* getGSCookie)(void * thisHandle, CorInfoException** ppException, void* pCookieVal, void** ppCookieVal);
+ void (* resolveToken)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken);
+ void (* tryResolveToken)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken);
+ void (* findSig)(void * thisHandle, CorInfoException** ppException, void* module, unsigned sigTOK, void* context, void* sig);
+ void (* findCallSiteSig)(void * thisHandle, CorInfoException** ppException, void* module, unsigned methTOK, void* context, void* sig);
+ void* (* getTokenTypeAsHandle)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken);
+ int (* canSkipVerification)(void * thisHandle, CorInfoException** ppException, void* module);
+ int (* isValidToken)(void * thisHandle, CorInfoException** ppException, void* module, unsigned metaTOK);
+ int (* isValidStringRef)(void * thisHandle, CorInfoException** ppException, void* module, unsigned metaTOK);
+ int (* shouldEnforceCallvirtRestriction)(void * thisHandle, CorInfoException** ppException, void* scope);
+ int (* asCorInfoType)(void * thisHandle, CorInfoException** ppException, void* cls);
+ const char* (* getClassName)(void * thisHandle, CorInfoException** ppException, void* cls);
+ int (* appendClassName)(void * thisHandle, CorInfoException** ppException, wchar_t** ppBuf, int* pnBufLen, void* cls, int fNamespace, int fFullInst, int fAssembly);
+ int (* isValueClass)(void * thisHandle, CorInfoException** ppException, void* cls);
+ int (* canInlineTypeCheckWithObjectVTable)(void * thisHandle, CorInfoException** ppException, void* cls);
+ unsigned int (* getClassAttribs)(void * thisHandle, CorInfoException** ppException, void* cls);
+ int (* isStructRequiringStackAllocRetBuf)(void * thisHandle, CorInfoException** ppException, void* cls);
+ void* (* getClassModule)(void * thisHandle, CorInfoException** ppException, void* cls);
+ void* (* getModuleAssembly)(void * thisHandle, CorInfoException** ppException, void* mod);
+ const char* (* getAssemblyName)(void * thisHandle, CorInfoException** ppException, void* assem);
+ void* (* LongLifetimeMalloc)(void * thisHandle, CorInfoException** ppException, size_t sz);
+ void (* LongLifetimeFree)(void * thisHandle, CorInfoException** ppException, void* obj);
+ size_t (* getClassModuleIdForStatics)(void * thisHandle, CorInfoException** ppException, void* cls, void* pModule, void** ppIndirection);
+ unsigned (* getClassSize)(void * thisHandle, CorInfoException** ppException, void* cls);
+ unsigned (* getClassAlignmentRequirement)(void * thisHandle, CorInfoException** ppException, void* cls, int fDoubleAlignHint);
+ unsigned (* getClassGClayout)(void * thisHandle, CorInfoException** ppException, void* cls, unsigned char* gcPtrs);
+ unsigned (* getClassNumInstanceFields)(void * thisHandle, CorInfoException** ppException, void* cls);
+ void* (* getFieldInClass)(void * thisHandle, CorInfoException** ppException, void* clsHnd, int num);
+ int (* checkMethodModifier)(void * thisHandle, CorInfoException** ppException, void* hMethod, const char* modifier, int fOptional);
+ int (* getNewHelper)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* callerHandle);
+ int (* getNewArrHelper)(void * thisHandle, CorInfoException** ppException, void* arrayCls);
+ int (* getCastingHelper)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, bool fThrowing);
+ int (* getSharedCCtorHelper)(void * thisHandle, CorInfoException** ppException, void* clsHnd);
+ int (* getSecurityPrologHelper)(void * thisHandle, CorInfoException** ppException, void* ftn);
+ void* (* getTypeForBox)(void * thisHandle, CorInfoException** ppException, void* cls);
+ int (* getBoxHelper)(void * thisHandle, CorInfoException** ppException, void* cls);
+ int (* getUnBoxHelper)(void * thisHandle, CorInfoException** ppException, void* cls);
+ bool (* getReadyToRunHelper)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* pGenericLookupKind, int id, void* pLookup);
+ void (* getReadyToRunDelegateCtorHelper)(void * thisHandle, CorInfoException** ppException, void* pTargetMethod, void* delegateType, void* pLookup);
+ const char* (* getHelperName)(void * thisHandle, CorInfoException** ppException, int helpFunc);
+ int (* initClass)(void * thisHandle, CorInfoException** ppException, void* field, void* method, void* context, int speculative);
+ void (* classMustBeLoadedBeforeCodeIsRun)(void * thisHandle, CorInfoException** ppException, void* cls);
+ void* (* getBuiltinClass)(void * thisHandle, CorInfoException** ppException, int classId);
+ int (* getTypeForPrimitiveValueClass)(void * thisHandle, CorInfoException** ppException, void* cls);
+ int (* canCast)(void * thisHandle, CorInfoException** ppException, void* child, void* parent);
+ int (* areTypesEquivalent)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2);
+ int (* compareTypesForCast)(void * thisHandle, CorInfoException** ppException, void* fromClass, void* toClass);
+ int (* compareTypesForEquality)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2);
+ void* (* mergeClasses)(void * thisHandle, CorInfoException** ppException, void* cls1, void* cls2);
+ void* (* getParentType)(void * thisHandle, CorInfoException** ppException, void* cls);
+ int (* getChildType)(void * thisHandle, CorInfoException** ppException, void* clsHnd, void* clsRet);
+ int (* satisfiesClassConstraints)(void * thisHandle, CorInfoException** ppException, void* cls);
+ int (* isSDArray)(void * thisHandle, CorInfoException** ppException, void* cls);
+ unsigned (* getArrayRank)(void * thisHandle, CorInfoException** ppException, void* cls);
+ void* (* getArrayInitializationData)(void * thisHandle, CorInfoException** ppException, void* field, unsigned int size);
+ int (* canAccessClass)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* callerHandle, void* pAccessHelper);
+ const char* (* getFieldName)(void * thisHandle, CorInfoException** ppException, void* ftn, const char** moduleName);
+ void* (* getFieldClass)(void * thisHandle, CorInfoException** ppException, void* field);
+ int (* getFieldType)(void * thisHandle, CorInfoException** ppException, void* field, void* structType, void* memberParent);
+ unsigned (* getFieldOffset)(void * thisHandle, CorInfoException** ppException, void* field);
+ bool (* isWriteBarrierHelperRequired)(void * thisHandle, CorInfoException** ppException, void* field);
+ void (* getFieldInfo)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* callerHandle, int flags, void* pResult);
+ bool (* isFieldStatic)(void * thisHandle, CorInfoException** ppException, void* fldHnd);
+ void (* getBoundaries)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned int* cILOffsets, unsigned int** pILOffsets, void* implictBoundaries);
+ void (* setBoundaries)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned int cMap, void* pMap);
+ void (* getVars)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned int* cVars, void* vars, bool* extendOthers);
+ void (* setVars)(void * thisHandle, CorInfoException** ppException, void* ftn, unsigned int cVars, void* vars);
+ void* (* allocateArray)(void * thisHandle, CorInfoException** ppException, unsigned int cBytes);
+ void (* freeArray)(void * thisHandle, CorInfoException** ppException, void* array);
+ void* (* getArgNext)(void * thisHandle, CorInfoException** ppException, void* args);
+ int (* getArgType)(void * thisHandle, CorInfoException** ppException, void* sig, void* args, void* vcTypeRet);
+ void* (* getArgClass)(void * thisHandle, CorInfoException** ppException, void* sig, void* args);
+ int (* getHFAType)(void * thisHandle, CorInfoException** ppException, void* hClass);
+ int (* GetErrorHRESULT)(void * thisHandle, CorInfoException** ppException, void* pExceptionPointers);
+ unsigned int (* GetErrorMessage)(void * thisHandle, CorInfoException** ppException, wchar_t* buffer, unsigned int bufferLength);
+ int (* FilterException)(void * thisHandle, CorInfoException** ppException, void* pExceptionPointers);
+ void (* HandleException)(void * thisHandle, CorInfoException** ppException, void* pExceptionPointers);
+ void (* ThrowExceptionForJitResult)(void * thisHandle, CorInfoException** ppException, int result);
+ void (* ThrowExceptionForHelper)(void * thisHandle, CorInfoException** ppException, const void* throwHelper);
+ bool (* runWithErrorTrap)(void * thisHandle, CorInfoException** ppException, void* function, void* parameter);
+ void (* getEEInfo)(void * thisHandle, CorInfoException** ppException, void* pEEInfoOut);
+ const wchar_t* (* getJitTimeLogFilename)(void * thisHandle, CorInfoException** ppException);
+ unsigned int (* getMethodDefFromMethod)(void * thisHandle, CorInfoException** ppException, void* hMethod);
+ const char* (* getMethodName)(void * thisHandle, CorInfoException** ppException, void* ftn, const char** moduleName);
+ const char* (* getMethodNameFromMetadata)(void * thisHandle, CorInfoException** ppException, void* ftn, const char** className, const char** namespaceName);
+ unsigned (* getMethodHash)(void * thisHandle, CorInfoException** ppException, void* ftn);
+ size_t (* findNameOfToken)(void * thisHandle, CorInfoException** ppException, void* moduleHandle, unsigned int token, char* szFQName, size_t FQNameCapacity);
+ bool (* getSystemVAmd64PassStructInRegisterDescriptor)(void * thisHandle, CorInfoException** ppException, void* structHnd, void* structPassInRegDescPtr);
+ unsigned int (* getThreadTLSIndex)(void * thisHandle, CorInfoException** ppException, void** ppIndirection);
+ const void* (* getInlinedCallFrameVptr)(void * thisHandle, CorInfoException** ppException, void** ppIndirection);
+ long* (* getAddrOfCaptureThreadGlobal)(void * thisHandle, CorInfoException** ppException, void** ppIndirection);
+ void* (* getHelperFtn)(void * thisHandle, CorInfoException** ppException, int ftnNum, void** ppIndirection);
+ void (* getFunctionEntryPoint)(void * thisHandle, CorInfoException** ppException, void* ftn, void* pResult, int accessFlags);
+ void (* getFunctionFixedEntryPoint)(void * thisHandle, CorInfoException** ppException, void* ftn, void* pResult);
+ void* (* getMethodSync)(void * thisHandle, CorInfoException** ppException, void* ftn, void** ppIndirection);
+ int (* getLazyStringLiteralHelper)(void * thisHandle, CorInfoException** ppException, void* handle);
+ void* (* embedModuleHandle)(void * thisHandle, CorInfoException** ppException, void* handle, void** ppIndirection);
+ void* (* embedClassHandle)(void * thisHandle, CorInfoException** ppException, void* handle, void** ppIndirection);
+ void* (* embedMethodHandle)(void * thisHandle, CorInfoException** ppException, void* handle, void** ppIndirection);
+ void* (* embedFieldHandle)(void * thisHandle, CorInfoException** ppException, void* handle, void** ppIndirection);
+ void (* embedGenericHandle)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, int fEmbedParent, void* pResult);
+ void (* getLocationOfThisType)(void * thisHandle, CorInfoException** ppException, CORINFO_LOOKUP_KIND* _return, void* context);
+ void* (* getPInvokeUnmanagedTarget)(void * thisHandle, CorInfoException** ppException, void* method, void** ppIndirection);
+ void* (* getAddressOfPInvokeFixup)(void * thisHandle, CorInfoException** ppException, void* method, void** ppIndirection);
+ void (* getAddressOfPInvokeTarget)(void * thisHandle, CorInfoException** ppException, void* method, void* pLookup);
+ void* (* GetCookieForPInvokeCalliSig)(void * thisHandle, CorInfoException** ppException, void* szMetaSig, void** ppIndirection);
+ bool (* canGetCookieForPInvokeCalliSig)(void * thisHandle, CorInfoException** ppException, void* szMetaSig);
+ void* (* getJustMyCodeHandle)(void * thisHandle, CorInfoException** ppException, void* method, void** ppIndirection);
+ void (* GetProfilingHandle)(void * thisHandle, CorInfoException** ppException, int* pbHookFunction, void** pProfilerHandle, int* pbIndirectedHandles);
+ void (* getCallInfo)(void * thisHandle, CorInfoException** ppException, void* pResolvedToken, void* pConstrainedResolvedToken, void* callerHandle, int flags, void* pResult);
+ int (* canAccessFamily)(void * thisHandle, CorInfoException** ppException, void* hCaller, void* hInstanceType);
+ int (* isRIDClassDomainID)(void * thisHandle, CorInfoException** ppException, void* cls);
+ unsigned (* getClassDomainID)(void * thisHandle, CorInfoException** ppException, void* cls, void** ppIndirection);
+ void* (* getFieldAddress)(void * thisHandle, CorInfoException** ppException, void* field, void** ppIndirection);
+ void* (* getVarArgsHandle)(void * thisHandle, CorInfoException** ppException, void* pSig, void** ppIndirection);
+ bool (* canGetVarArgsHandle)(void * thisHandle, CorInfoException** ppException, void* pSig);
+ int (* constructStringLiteral)(void * thisHandle, CorInfoException** ppException, void* module, unsigned int metaTok, void** ppValue);
+ int (* emptyStringLiteral)(void * thisHandle, CorInfoException** ppException, void** ppValue);
+ unsigned int (* getFieldThreadLocalStoreID)(void * thisHandle, CorInfoException** ppException, void* field, void** ppIndirection);
+ void (* setOverride)(void * thisHandle, CorInfoException** ppException, void* pOverride, void* currentMethod);
+ void (* addActiveDependency)(void * thisHandle, CorInfoException** ppException, void* moduleFrom, void* moduleTo);
+ void* (* GetDelegateCtor)(void * thisHandle, CorInfoException** ppException, void* methHnd, void* clsHnd, void* targetMethodHnd, void* pCtorData);
+ void (* MethodCompileComplete)(void * thisHandle, CorInfoException** ppException, void* methHnd);
+ void* (* getTailCallCopyArgsThunk)(void * thisHandle, CorInfoException** ppException, void* pSig, int flags);
+ void* (* getMemoryManager)(void * thisHandle, CorInfoException** ppException);
+ void (* allocMem)(void * thisHandle, CorInfoException** ppException, unsigned int hotCodeSize, unsigned int coldCodeSize, unsigned int roDataSize, unsigned int xcptnsCount, int flag, void** hotCodeBlock, void** coldCodeBlock, void** roDataBlock);
+ void (* reserveUnwindInfo)(void * thisHandle, CorInfoException** ppException, int isFunclet, int isColdCode, unsigned int unwindSize);
+ void (* allocUnwindInfo)(void * thisHandle, CorInfoException** ppException, unsigned char* pHotCode, unsigned char* pColdCode, unsigned int startOffset, unsigned int endOffset, unsigned int unwindSize, unsigned char* pUnwindBlock, int funcKind);
+ void* (* allocGCInfo)(void * thisHandle, CorInfoException** ppException, size_t size);
+ void (* yieldExecution)(void * thisHandle, CorInfoException** ppException);
+ void (* setEHcount)(void * thisHandle, CorInfoException** ppException, unsigned cEH);
+ void (* setEHinfo)(void * thisHandle, CorInfoException** ppException, unsigned EHnumber, void* clause);
+ int (* logMsg)(void * thisHandle, CorInfoException** ppException, unsigned level, const char* fmt, va_list args);
+ int (* doAssert)(void * thisHandle, CorInfoException** ppException, const char* szFile, int iLine, const char* szExpr);
+ void (* reportFatalError)(void * thisHandle, CorInfoException** ppException, int result);
+ int (* allocBBProfileBuffer)(void * thisHandle, CorInfoException** ppException, unsigned int count, void** profileBuffer);
+ int (* getBBProfileData)(void * thisHandle, CorInfoException** ppException, void* ftnHnd, unsigned long* count, void** profileBuffer, unsigned long* numRuns);
+ void (* recordCallSite)(void * thisHandle, CorInfoException** ppException, unsigned int instrOffset, void* callSig, void* methodHandle);
+ void (* recordRelocation)(void * thisHandle, CorInfoException** ppException, void* location, void* target, unsigned short fRelocType, unsigned short slotNum, int addlDelta);
+ unsigned short (* getRelocTypeHint)(void * thisHandle, CorInfoException** ppException, void* target);
+ void (* getModuleNativeEntryPointRange)(void * thisHandle, CorInfoException** ppException, void** pStart, void** pEnd);
+ unsigned int (* getExpectedTargetArchitecture)(void * thisHandle, CorInfoException** ppException);
+ unsigned int (* getJitFlags)(void * thisHandle, CorInfoException** ppException, void* flags, unsigned int sizeInBytes);
};