diff options
Diffstat (limited to 'src/ToolBox/superpmi/superpmi-shared/methodcontext.h')
-rw-r--r-- | src/ToolBox/superpmi/superpmi-shared/methodcontext.h | 1079 |
1 files changed, 607 insertions, 472 deletions
diff --git a/src/ToolBox/superpmi/superpmi-shared/methodcontext.h b/src/ToolBox/superpmi/superpmi-shared/methodcontext.h index b2224d91ae..f7c0e164ca 100644 --- a/src/ToolBox/superpmi/superpmi-shared/methodcontext.h +++ b/src/ToolBox/superpmi/superpmi-shared/methodcontext.h @@ -15,10 +15,10 @@ #include "lightweightmap.h" #include "errorhandling.h" -#define METHOD_IDENTITY_INFO_SIZE 0x10000 //We assume that the METHOD_IDENTITY_INFO_SIZE will not exceed 64KB +#define METHOD_IDENTITY_INFO_SIZE 0x10000 // We assume that the METHOD_IDENTITY_INFO_SIZE will not exceed 64KB -#define MD5_HASH_BYTE_SIZE 16 //MD5 is 128-bit, so we need 16 bytes to store it -#define MD5_HASH_BUFFER_SIZE 33 //MD5 is 128-bit, so we need 32 chars + 1 char to store null-terminator +#define MD5_HASH_BYTE_SIZE 16 // MD5 is 128-bit, so we need 16 bytes to store it +#define MD5_HASH_BUFFER_SIZE 33 // MD5 is 128-bit, so we need 32 chars + 1 char to store null-terminator class MethodContext { @@ -26,46 +26,46 @@ public: #pragma pack(push, 1) struct Agnostic_CORINFO_SIG_INFO { - DWORD callConv; + DWORD callConv; DWORDLONG retTypeClass; DWORDLONG retTypeSigClass; - DWORD retType; - DWORD flags; - DWORD numArgs; - DWORD sigInst_classInstCount; - DWORD sigInst_classInst_Index; - DWORD sigInst_methInstCount; - DWORD sigInst_methInst_Index; + DWORD retType; + DWORD flags; + DWORD numArgs; + DWORD sigInst_classInstCount; + DWORD sigInst_classInst_Index; + DWORD sigInst_methInstCount; + DWORD sigInst_methInst_Index; DWORDLONG args; - DWORD pSig; - DWORD cbSig; + DWORD pSig; + DWORD cbSig; DWORDLONG scope; - DWORD token; + DWORD token; }; struct Agnostic_CORINFO_METHOD_INFO { - DWORDLONG ftn; - DWORDLONG scope; - DWORD ILCode_offset; - DWORD ILCodeSize; - DWORD maxStack; - DWORD EHcount; - DWORD options; - DWORD regionKind; + DWORDLONG ftn; + DWORDLONG scope; + DWORD ILCode_offset; + DWORD ILCodeSize; + DWORD maxStack; + DWORD EHcount; + DWORD options; + DWORD regionKind; Agnostic_CORINFO_SIG_INFO args; Agnostic_CORINFO_SIG_INFO locals; }; struct Agnostic_CompileMethod { Agnostic_CORINFO_METHOD_INFO info; - DWORD flags; + DWORD flags; }; struct Agnostic_InitClass { DWORDLONG field; DWORDLONG method; DWORDLONG context; - DWORD speculative; + DWORD speculative; }; struct DLDL { @@ -87,35 +87,35 @@ public: struct DLD { DWORDLONG A; - DWORD B; + DWORD B; }; struct Agnostic_CORINFO_RESOLVED_TOKENin { DWORDLONG tokenContext; DWORDLONG tokenScope; - DWORD token; - DWORD tokenType; + DWORD token; + DWORD tokenType; }; struct Agnostic_CORINFO_RESOLVED_TOKENout { DWORDLONG hClass; DWORDLONG hMethod; DWORDLONG hField; - DWORD pTypeSpec_Index; - DWORD cbTypeSpec; - DWORD pMethodSpec_Index; - DWORD cbMethodSpec; - DWORD exceptionCode; + DWORD pTypeSpec_Index; + DWORD cbTypeSpec; + DWORD pMethodSpec_Index; + DWORD cbMethodSpec; + DWORD exceptionCode; }; struct Agnostic_GetArgType { Agnostic_CORINFO_SIG_INFO sig; - DWORDLONG args; + DWORDLONG args; }; struct Agnostic_GetArgClass { Agnostic_CORINFO_SIG_INFO sig; - DWORDLONG args; + DWORDLONG args; }; struct Agnostic_GetBoundaries { @@ -135,8 +135,7 @@ public: DWORD offsetOfCalleeSavedFP; DWORD offsetOfCallTarget; DWORD offsetOfReturnAddress; - } - inlinedCallFrameInfo; + } inlinedCallFrameInfo; DWORD offsetOfThreadFrame; DWORD offsetOfGCState; DWORD offsetOfDelegateInstance; @@ -158,48 +157,48 @@ public: { DWORDLONG ppIndirection; DWORDLONG fieldAddress; - DWORD fieldValue; + DWORD fieldValue; }; struct Agnostic_CORINFO_RESOLVED_TOKEN { DWORDLONG tokenContext; DWORDLONG tokenScope; - DWORD token; - DWORD tokenType; + DWORD token; + DWORD tokenType; DWORDLONG hClass; DWORDLONG hMethod; DWORDLONG hField; - DWORD typeSpec_Index; - DWORD cbTypeSpec; - DWORD methodSpec_Index; - DWORD cbMethodSpec; + DWORD typeSpec_Index; + DWORD cbTypeSpec; + DWORD methodSpec_Index; + DWORD cbMethodSpec; }; struct Agnostic_GetFieldInfo { Agnostic_CORINFO_RESOLVED_TOKEN ResolvedToken; - DWORDLONG callerHandle; - DWORD flags; + DWORDLONG callerHandle; + DWORD flags; }; struct Agnostic_CORINFO_HELPER_ARG { - DWORDLONG constant; //one view of a large union of ptr size - DWORD argType; + DWORDLONG constant; // one view of a large union of ptr size + DWORD argType; }; struct Agnostic_CORINFO_HELPER_DESC { - DWORD helperNum; - DWORD numArgs; + DWORD helperNum; + DWORD numArgs; Agnostic_CORINFO_HELPER_ARG args[CORINFO_ACCESS_ALLOWED_MAX_ARGS]; }; struct Agnostic_CORINFO_FIELD_INFO { - DWORD fieldAccessor; - DWORD fieldFlags; - DWORD helper; - DWORD offset; - DWORD fieldType; - DWORDLONG structType; - DWORD accessAllowed; + DWORD fieldAccessor; + DWORD fieldFlags; + DWORD helper; + DWORD offset; + DWORD fieldType; + DWORDLONG structType; + DWORD accessAllowed; Agnostic_CORINFO_HELPER_DESC accessCalloutHelper; }; struct DD @@ -212,81 +211,83 @@ public: DWORDLONG callerHnd; DWORDLONG declaredCalleeHnd; DWORDLONG exactCalleeHnd; - WORD fIsTailPrefix; + WORD fIsTailPrefix; }; struct Agnostic_Environment { - DWORD name_index;; + DWORD name_index; + ; DWORD val_index; }; struct Agnostic_GetCallInfo { Agnostic_CORINFO_RESOLVED_TOKEN ResolvedToken; Agnostic_CORINFO_RESOLVED_TOKEN ConstrainedResolvedToken; - DWORDLONG callerHandle; - DWORD flags; + DWORDLONG callerHandle; + DWORD flags; }; struct Agnostic_CORINFO_LOOKUP_KIND { DWORD needsRuntimeLookup; DWORD runtimeLookupKind; - WORD runtimeLookupFlags; + WORD runtimeLookupFlags; }; struct Agnostic_CORINFO_RUNTIME_LOOKUP { DWORDLONG signature; - DWORD helper; - DWORD indirections; - DWORD testForNull; - DWORD testForFixup; + DWORD helper; + DWORD indirections; + DWORD testForNull; + DWORD testForFixup; DWORDLONG offsets[CORINFO_MAXINDIRECTIONS]; }; struct Agnostic_CORINFO_CONST_LOOKUP { - DWORD accessType; - DWORDLONG handle; // actually a union of two pointer sized things + DWORD accessType; + DWORDLONG handle; // actually a union of two pointer sized things }; struct Agnostic_CORINFO_LOOKUP { - Agnostic_CORINFO_LOOKUP_KIND lookupKind; - Agnostic_CORINFO_RUNTIME_LOOKUP runtimeLookup; //This and constLookup actually a union, but with different layouts.. :-| copy the right one based on lookupKinds value - Agnostic_CORINFO_CONST_LOOKUP constLookup; + Agnostic_CORINFO_LOOKUP_KIND lookupKind; + Agnostic_CORINFO_RUNTIME_LOOKUP runtimeLookup; // This and constLookup actually a union, but with different + // layouts.. :-| copy the right one based on lookupKinds value + Agnostic_CORINFO_CONST_LOOKUP constLookup; }; struct Agnostic_CORINFO_CALL_INFO { - DWORDLONG hMethod; - DWORD methodFlags; - DWORD classFlags; - Agnostic_CORINFO_SIG_INFO sig; - DWORD verMethodFlags; - Agnostic_CORINFO_SIG_INFO verSig; - DWORD accessAllowed; - Agnostic_CORINFO_HELPER_DESC callsiteCalloutHelper; - DWORD thisTransform; - DWORD kind; - DWORD nullInstanceCheck; - DWORDLONG contextHandle; - DWORD exactContextNeedsRuntimeLookup; - Agnostic_CORINFO_LOOKUP stubLookup;//first view of union. others are matching or subordinate + DWORDLONG hMethod; + DWORD methodFlags; + DWORD classFlags; + Agnostic_CORINFO_SIG_INFO sig; + DWORD verMethodFlags; + Agnostic_CORINFO_SIG_INFO verSig; + DWORD accessAllowed; + Agnostic_CORINFO_HELPER_DESC callsiteCalloutHelper; + DWORD thisTransform; + DWORD kind; + DWORD nullInstanceCheck; + DWORDLONG contextHandle; + DWORD exactContextNeedsRuntimeLookup; + Agnostic_CORINFO_LOOKUP stubLookup; // first view of union. others are matching or subordinate Agnostic_CORINFO_CONST_LOOKUP instParamLookup; - DWORD secureDelegateInvoke; - DWORD exceptionCode; + DWORD secureDelegateInvoke; + DWORD exceptionCode; }; struct Agnostic_GetMethodInfo { Agnostic_CORINFO_METHOD_INFO info; - bool result; - DWORD exceptionCode; + bool result; + DWORD exceptionCode; }; struct Agnostic_FindSig { DWORDLONG module; - DWORD sigTOK; + DWORD sigTOK; DWORDLONG context; }; struct Agnostic_PInvokeMarshalingRequired { - DWORDLONG method; + DWORDLONG method; Agnostic_CORINFO_SIG_INFO callSiteSig; }; struct Agnostic_CORINFO_EH_CLAUSE @@ -296,7 +297,7 @@ public: DWORD TryLength; DWORD HandlerOffset; DWORD HandlerLength; - DWORD ClassToken;//first view of a two dword union + DWORD ClassToken; // first view of a two dword union }; struct Agnostic_GetVars { @@ -307,12 +308,12 @@ public: struct Agnostic_CanAccessClassIn { Agnostic_CORINFO_RESOLVED_TOKEN ResolvedToken; - DWORDLONG callerHandle; + DWORDLONG callerHandle; }; struct Agnostic_CanAccessClassOut { Agnostic_CORINFO_HELPER_DESC AccessHelper; - DWORD result; + DWORD result; }; struct Agnostic_AppendClassName { @@ -324,20 +325,20 @@ public: struct Agnostic_CheckMethodModifier { DWORDLONG hMethod; - DWORD modifier; - DWORD fOptional; + DWORD modifier; + DWORD fOptional; }; struct Agnostic_EmbedGenericHandle { Agnostic_CORINFO_RESOLVED_TOKEN ResolvedToken; - DWORD fEmbedParent; + DWORD fEmbedParent; }; struct Agnostic_CORINFO_GENERICHANDLE_RESULT { Agnostic_CORINFO_LOOKUP lookup; - DWORDLONG compileTimeHandle; - DWORD handleType; + DWORDLONG compileTimeHandle; + DWORD handleType; }; struct Agnostic_GetDelegateCtorIn { @@ -355,23 +356,23 @@ public: struct Agnostic_GetDelegateCtorOut { Agnostic_DelegateCtorArgs CtorData; - DWORDLONG result; + DWORDLONG result; }; struct Agnostic_FindCallSiteSig { DWORDLONG module; - DWORD methTok; + DWORD methTok; DWORDLONG context; }; struct Agnostic_GetNewHelper { Agnostic_CORINFO_RESOLVED_TOKEN ResolvedToken; - DWORDLONG callerHandle; + DWORDLONG callerHandle; }; struct Agnostic_GetCastingHelper { Agnostic_CORINFO_RESOLVED_TOKEN ResolvedToken; - DWORD fThrowing; + DWORD fThrowing; }; struct Agnostic_GetClassModuleIdForStatics { @@ -395,25 +396,25 @@ public: }; struct Agnostic_GetProfilingHandle { - DWORD bHookFunction; + DWORD bHookFunction; DWORDLONG ProfilerHandle; - DWORD bIndirectedHandles; + DWORD bIndirectedHandles; }; struct Agnostic_GetTailCallCopyArgsThunk { Agnostic_CORINFO_SIG_INFO Sig; - DWORD flags; + DWORD flags; }; struct Agnostic_GetArgClass_Value { DWORDLONG result; - DWORD exceptionCode; + DWORD exceptionCode; }; struct Agnostic_GetArgType_Value { DWORDLONG vcTypeRet; - DWORD result; - DWORD exceptionCode; + DWORD result; + DWORD exceptionCode; }; // Agnostic_ConfigIntInfo combines as a single key the name @@ -428,12 +429,17 @@ public: // SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR struct Agnostic_GetSystemVAmd64PassStructInRegisterDescriptor { - DWORD passedInRegisters; // Whether the struct is passable/passed (this includes struct returning) in registers. - DWORD eightByteCount; // Number of eightbytes for this struct. - DWORD eightByteClassifications[CLR_SYSTEMV_MAX_EIGHTBYTES_COUNT_TO_PASS_IN_REGISTERS]; // The eightbytes type classification. - DWORD eightByteSizes[CLR_SYSTEMV_MAX_EIGHTBYTES_COUNT_TO_PASS_IN_REGISTERS]; // The size of the eightbytes (an eightbyte could include padding. This represents the no padding size of the eightbyte). - DWORD eightByteOffsets[CLR_SYSTEMV_MAX_EIGHTBYTES_COUNT_TO_PASS_IN_REGISTERS]; // The start offset of the eightbytes (in bytes). - DWORD result; + DWORD passedInRegisters; // Whether the struct is passable/passed (this includes struct returning) in registers. + DWORD eightByteCount; // Number of eightbytes for this struct. + DWORD eightByteClassifications[CLR_SYSTEMV_MAX_EIGHTBYTES_COUNT_TO_PASS_IN_REGISTERS]; // The eightbytes type + // classification. + DWORD eightByteSizes[CLR_SYSTEMV_MAX_EIGHTBYTES_COUNT_TO_PASS_IN_REGISTERS]; // The size of the eightbytes (an + // eightbyte could include padding. + // This represents the no padding + // size of the eightbyte). + DWORD eightByteOffsets[CLR_SYSTEMV_MAX_EIGHTBYTES_COUNT_TO_PASS_IN_REGISTERS]; // The start offset of the + // eightbytes (in bytes). + DWORD result; }; struct Agnostic_ResolveVirtualMethod @@ -448,36 +454,35 @@ public: MethodContext(); private: - MethodContext(HANDLE hFile); - MethodContext(unsigned char *buff, unsigned int totalLen); + MethodContext(unsigned char* buff, unsigned int totalLen); - void MethodInitHelper(unsigned char *buff, unsigned int totalLen); + void MethodInitHelper(unsigned char* buff, unsigned int totalLen); void MethodInitHelperFile(HANDLE hFile); bool Initialize(int loadedCount, unsigned char* buff, DWORD size); bool Initialize(int loadedCount, HANDLE hFile); - int dumpMD5HashToBuffer(BYTE *pBuffer, int bufLen, char *buff, int len); + int dumpMD5HashToBuffer(BYTE* pBuffer, int bufLen, char* buff, int len); public: - static bool Initialize(int loadedCount, unsigned char* buff, DWORD size, /* OUT */ MethodContext** ppmc); static bool Initialize(int loadedCount, HANDLE hFile, /* OUT */ MethodContext** ppmc); ~MethodContext(); void Destroy(); - bool Equal(MethodContext *other); + bool Equal(MethodContext* other); unsigned int saveToFile(HANDLE hFile); unsigned int calculateFileSize(); unsigned int calculateRawFileSize(); - void dumpToConsole(int mcNumber = -1); // if mcNumber is not -1, display the method context number before the dumped info - int dumpStatToBuffer(char *buff, int len); - static int dumpStatTitleToBuffer(char *buff, int len); + void dumpToConsole(int mcNumber = -1); // if mcNumber is not -1, display the method context number before the dumped + // info + int dumpStatToBuffer(char* buff, int len); + static int dumpStatTitleToBuffer(char* buff, int len); int methodSize; - int dumpMethodIdentityInfoToBuffer(char *buff, int len); - int dumpMethodMD5HashToBuffer(char *buff, int len); + int dumpMethodIdentityInfoToBuffer(char* buff, int len); + int dumpMethodMD5HashToBuffer(char* buff, int len); void recGlobalContext(const MethodContext& other); @@ -485,12 +490,12 @@ public: void dmpEnvironment(DWORD key, const Agnostic_Environment& value); void repEnvironmentSet(); void repEnvironmentUnset(); - int repEnvironmentGetCount(); - int repGetTestID(); + int repEnvironmentGetCount(); + int repGetTestID(); - void recCompileMethod(CORINFO_METHOD_INFO *info, unsigned flags); + void recCompileMethod(CORINFO_METHOD_INFO* info, unsigned flags); void dmpCompileMethod(DWORD key, const Agnostic_CompileMethod& value); - void repCompileMethod(CORINFO_METHOD_INFO *info, unsigned *flags); + void repCompileMethod(CORINFO_METHOD_INFO* info, unsigned* flags); void recGetMethodClass(CORINFO_METHOD_HANDLE methodHandle, CORINFO_CLASS_HANDLE classHandle); void dmpGetMethodClass(DWORDLONG key, DWORDLONG value); @@ -504,48 +509,77 @@ public: void dmpGetMethodAttribs(DWORDLONG key, DWORD value); DWORD repGetMethodAttribs(CORINFO_METHOD_HANDLE methodHandle); - void recGetVars(CORINFO_METHOD_HANDLE ftn, ULONG32 *cVars, ICorDebugInfo::ILVarInfo **vars, bool *extendOthers); + void recGetVars(CORINFO_METHOD_HANDLE ftn, ULONG32* cVars, ICorDebugInfo::ILVarInfo** vars, bool* extendOthers); void dmpGetVars(DWORDLONG key, const Agnostic_GetVars& value); - void repGetVars(CORINFO_METHOD_HANDLE ftn, ULONG32 *cVars, ICorDebugInfo::ILVarInfo **vars, bool *extendOthers); + void repGetVars(CORINFO_METHOD_HANDLE ftn, ULONG32* cVars, ICorDebugInfo::ILVarInfo** vars, bool* extendOthers); - void recGetBoundaries(CORINFO_METHOD_HANDLE ftn, unsigned int *cILOffsets, DWORD **pILOffsets, ICorDebugInfo::BoundaryTypes *implictBoundaries); + void recGetBoundaries(CORINFO_METHOD_HANDLE ftn, + unsigned int* cILOffsets, + DWORD** pILOffsets, + ICorDebugInfo::BoundaryTypes* implictBoundaries); void dmpGetBoundaries(DWORDLONG key, const Agnostic_GetBoundaries& value); - void repGetBoundaries(CORINFO_METHOD_HANDLE ftn, unsigned int *cILOffsets, DWORD **pILOffsets, ICorDebugInfo::BoundaryTypes *implictBoundaries); - - void recInitClass(CORINFO_FIELD_HANDLE field, CORINFO_METHOD_HANDLE method, CORINFO_CONTEXT_HANDLE context, BOOL speculative, CorInfoInitClassResult result); + void repGetBoundaries(CORINFO_METHOD_HANDLE ftn, + unsigned int* cILOffsets, + DWORD** pILOffsets, + ICorDebugInfo::BoundaryTypes* implictBoundaries); + + void recInitClass(CORINFO_FIELD_HANDLE field, + CORINFO_METHOD_HANDLE method, + CORINFO_CONTEXT_HANDLE context, + BOOL speculative, + CorInfoInitClassResult result); void dmpInitClass(const Agnostic_InitClass& key, DWORD value); - CorInfoInitClassResult repInitClass(CORINFO_FIELD_HANDLE field, CORINFO_METHOD_HANDLE method, CORINFO_CONTEXT_HANDLE context, BOOL speculative); + CorInfoInitClassResult repInitClass(CORINFO_FIELD_HANDLE field, + CORINFO_METHOD_HANDLE method, + CORINFO_CONTEXT_HANDLE context, + BOOL speculative); - void recGetMethodName(CORINFO_METHOD_HANDLE ftn, char *methodname, const char **moduleName); + void recGetMethodName(CORINFO_METHOD_HANDLE ftn, char* methodname, const char** moduleName); void dmpGetMethodName(DLD key, DD value); - const char *repGetMethodName(CORINFO_METHOD_HANDLE ftn, const char **moduleName); + const char* repGetMethodName(CORINFO_METHOD_HANDLE ftn, const char** moduleName); - void recGetJitFlags(CORJIT_FLAGS *jitFlags, DWORD sizeInBytes, DWORD result); + void recGetJitFlags(CORJIT_FLAGS* jitFlags, DWORD sizeInBytes, DWORD result); void dmpGetJitFlags(DWORD key, DD value); - DWORD repGetJitFlags(CORJIT_FLAGS *jitFlags, DWORD sizeInBytes); + DWORD repGetJitFlags(CORJIT_FLAGS* jitFlags, DWORD sizeInBytes); void recGetJitTimeLogFilename(LPCWSTR tempFileName); void dmpGetJitTimeLogFilename(DWORD key, DWORD value); LPCWSTR repGetJitTimeLogFilename(); - void recCanInline(CORINFO_METHOD_HANDLE callerHnd, CORINFO_METHOD_HANDLE calleeHnd, DWORD *pRestrictions, CorInfoInline response, DWORD exceptionCode); + void recCanInline(CORINFO_METHOD_HANDLE callerHnd, + CORINFO_METHOD_HANDLE calleeHnd, + DWORD* pRestrictions, + CorInfoInline response, + DWORD exceptionCode); void dmpCanInline(DLDL key, const Agnostic_CanInline& value); - CorInfoInline repCanInline(CORINFO_METHOD_HANDLE callerHnd, CORINFO_METHOD_HANDLE calleeHnd, DWORD* pRestrictions, DWORD *exceptionCode); + CorInfoInline repCanInline(CORINFO_METHOD_HANDLE callerHnd, + CORINFO_METHOD_HANDLE calleeHnd, + DWORD* pRestrictions, + DWORD* exceptionCode); - void recResolveToken(CORINFO_RESOLVED_TOKEN * pResolvedToken, DWORD exceptionCode); + void recResolveToken(CORINFO_RESOLVED_TOKEN* pResolvedToken, DWORD exceptionCode); void dmpResolveToken(const Agnostic_CORINFO_RESOLVED_TOKENin& key, const Agnostic_CORINFO_RESOLVED_TOKENout& value); - void repResolveToken(CORINFO_RESOLVED_TOKEN * pResolvedToken, DWORD *exceptionCode); - - void recTryResolveToken(CORINFO_RESOLVED_TOKEN * pResolvedToken, bool success); - void dmpTryResolveToken(const Agnostic_CORINFO_RESOLVED_TOKENin& key, const Agnostic_CORINFO_RESOLVED_TOKENout& value); - bool repTryResolveToken(CORINFO_RESOLVED_TOKEN * pResolvedToken); - - void recGetCallInfo(CORINFO_RESOLVED_TOKEN *pResolvedToken, CORINFO_RESOLVED_TOKEN *pConstrainedResolvedToken, - CORINFO_METHOD_HANDLE callerHandle, CORINFO_CALLINFO_FLAGS flags, CORINFO_CALL_INFO *pResult, DWORD exceptionCode); + void repResolveToken(CORINFO_RESOLVED_TOKEN* pResolvedToken, DWORD* exceptionCode); + + void recTryResolveToken(CORINFO_RESOLVED_TOKEN* pResolvedToken, bool success); + void dmpTryResolveToken(const Agnostic_CORINFO_RESOLVED_TOKENin& key, + const Agnostic_CORINFO_RESOLVED_TOKENout& value); + bool repTryResolveToken(CORINFO_RESOLVED_TOKEN* pResolvedToken); + + void recGetCallInfo(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_RESOLVED_TOKEN* pConstrainedResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CORINFO_CALLINFO_FLAGS flags, + CORINFO_CALL_INFO* pResult, + DWORD exceptionCode); void dmpGetCallInfo(const Agnostic_GetCallInfo& key, const Agnostic_CORINFO_CALL_INFO& value); - void repGetCallInfo(CORINFO_RESOLVED_TOKEN *pResolvedToken, CORINFO_RESOLVED_TOKEN *pConstrainedResolvedToken, - CORINFO_METHOD_HANDLE callerHandle, CORINFO_CALLINFO_FLAGS flags, CORINFO_CALL_INFO *pResult, DWORD *exceptionCode); - void repGetCallInfoFromMethodHandle(CORINFO_METHOD_HANDLE methodHandle, CORINFO_CALL_INFO *pResult); + void repGetCallInfo(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_RESOLVED_TOKEN* pConstrainedResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CORINFO_CALLINFO_FLAGS flags, + CORINFO_CALL_INFO* pResult, + DWORD* exceptionCode); + void repGetCallInfoFromMethodHandle(CORINFO_METHOD_HANDLE methodHandle, CORINFO_CALL_INFO* pResult); void recGetIntrinsicID(CORINFO_METHOD_HANDLE method, bool* pMustExpand, CorInfoIntrinsics result); void dmpGetIntrinsicID(DWORDLONG key, DD value); @@ -593,7 +627,7 @@ public: void recGetTypeForBox(CORINFO_CLASS_HANDLE cls, CORINFO_CLASS_HANDLE result); void dmpGetTypeForBox(DWORDLONG key, DWORDLONG value); - CORINFO_CLASS_HANDLE repGetTypeForBox(CORINFO_CLASS_HANDLE cls); + CORINFO_CLASS_HANDLE repGetTypeForBox(CORINFO_CLASS_HANDLE cls); void recGetBoxHelper(CORINFO_CLASS_HANDLE cls, CorInfoHelpFunc result); void dmpGetBoxHelper(DWORDLONG key, DWORD value); @@ -635,187 +669,257 @@ public: void dmpGetUnBoxHelper(DWORDLONG key, DWORD value); CorInfoHelpFunc repGetUnBoxHelper(CORINFO_CLASS_HANDLE cls); - void recGetReadyToRunHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, CORINFO_LOOKUP_KIND* pGenericLookupKind, CorInfoHelpFunc id, CORINFO_CONST_LOOKUP* pLookup, bool result); + void recGetReadyToRunHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_LOOKUP_KIND* pGenericLookupKind, + CorInfoHelpFunc id, + CORINFO_CONST_LOOKUP* pLookup, + bool result); void dmpGetReadyToRunHelper(DWORDLONG key, DWORD value); - bool repGetReadyToRunHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, CORINFO_LOOKUP_KIND* pGenericLookupKind, CorInfoHelpFunc id, CORINFO_CONST_LOOKUP* pLookup); - - void recGetReadyToRunDelegateCtorHelper(CORINFO_RESOLVED_TOKEN* pTargetMethod, CORINFO_CLASS_HANDLE delegateType, CORINFO_LOOKUP* pLookup); + bool repGetReadyToRunHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_LOOKUP_KIND* pGenericLookupKind, + CorInfoHelpFunc id, + CORINFO_CONST_LOOKUP* pLookup); + + void recGetReadyToRunDelegateCtorHelper(CORINFO_RESOLVED_TOKEN* pTargetMethod, + CORINFO_CLASS_HANDLE delegateType, + CORINFO_LOOKUP* pLookup); void dmpGetReadyToRunDelegateCtorHelper(DWORDLONG key, DWORD value); - void repGetReadyToRunDelegateCtorHelper(CORINFO_RESOLVED_TOKEN* pTargetMethod, CORINFO_CLASS_HANDLE delegateType, CORINFO_LOOKUP* pLookup); + void repGetReadyToRunDelegateCtorHelper(CORINFO_RESOLVED_TOKEN* pTargetMethod, + CORINFO_CLASS_HANDLE delegateType, + CORINFO_LOOKUP* pLookup); - void recGetHelperFtn(CorInfoHelpFunc ftnNum, void **ppIndirection, void *result); + void recGetHelperFtn(CorInfoHelpFunc ftnNum, void** ppIndirection, void* result); void dmpGetHelperFtn(DWORD key, DLDL value); - void* repGetHelperFtn(CorInfoHelpFunc ftnNum, void **ppIndirection); - bool fndGetHelperFtn(void *functionAddress, CorInfoHelpFunc *pResult); + void* repGetHelperFtn(CorInfoHelpFunc ftnNum, void** ppIndirection); + bool fndGetHelperFtn(void* functionAddress, CorInfoHelpFunc* pResult); - void recGetJustMyCodeHandle(CORINFO_METHOD_HANDLE method, CORINFO_JUST_MY_CODE_HANDLE **ppIndirection, CORINFO_JUST_MY_CODE_HANDLE result); + void recGetJustMyCodeHandle(CORINFO_METHOD_HANDLE method, + CORINFO_JUST_MY_CODE_HANDLE** ppIndirection, + CORINFO_JUST_MY_CODE_HANDLE result); void dmpGetJustMyCodeHandle(DWORDLONG key, DLDL value); - CORINFO_JUST_MY_CODE_HANDLE repGetJustMyCodeHandle(CORINFO_METHOD_HANDLE method, CORINFO_JUST_MY_CODE_HANDLE **ppIndirection); + CORINFO_JUST_MY_CODE_HANDLE repGetJustMyCodeHandle(CORINFO_METHOD_HANDLE method, + CORINFO_JUST_MY_CODE_HANDLE** ppIndirection); - void recGetFunctionEntryPoint(CORINFO_METHOD_HANDLE ftn, CORINFO_CONST_LOOKUP *pResult, CORINFO_ACCESS_FLAGS accessFlags); + void recGetFunctionEntryPoint(CORINFO_METHOD_HANDLE ftn, + CORINFO_CONST_LOOKUP* pResult, + CORINFO_ACCESS_FLAGS accessFlags); void dmpGetFunctionEntryPoint(DLD key, DLD value); - void repGetFunctionEntryPoint(CORINFO_METHOD_HANDLE ftn, CORINFO_CONST_LOOKUP *pResult, CORINFO_ACCESS_FLAGS accessFlags); - bool fndGetFunctionEntryPoint(DLD value, CORINFO_METHOD_HANDLE *pResult); + void repGetFunctionEntryPoint(CORINFO_METHOD_HANDLE ftn, + CORINFO_CONST_LOOKUP* pResult, + CORINFO_ACCESS_FLAGS accessFlags); + bool fndGetFunctionEntryPoint(DLD value, CORINFO_METHOD_HANDLE* pResult); - void recConstructStringLiteral(CORINFO_MODULE_HANDLE module, mdToken metaTok, void *ppValue, InfoAccessType result); + void recConstructStringLiteral(CORINFO_MODULE_HANDLE module, mdToken metaTok, void* ppValue, InfoAccessType result); void dmpConstructStringLiteral(DLD key, DLD value); - InfoAccessType repConstructStringLiteral(CORINFO_MODULE_HANDLE module, mdToken metaTok, void **ppValue); + InfoAccessType repConstructStringLiteral(CORINFO_MODULE_HANDLE module, mdToken metaTok, void** ppValue); - void recEmptyStringLiteral(void **ppValue, InfoAccessType result); + void recEmptyStringLiteral(void** ppValue, InfoAccessType result); void dmpEmptyStringLiteral(DWORD key, DLD value); - InfoAccessType repEmptyStringLiteral(void **ppValue); + InfoAccessType repEmptyStringLiteral(void** ppValue); - void recGetArgType(CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_HANDLE args, CORINFO_CLASS_HANDLE *vcTypeRet, CorInfoTypeWithMod result, DWORD exception); + void recGetArgType(CORINFO_SIG_INFO* sig, + CORINFO_ARG_LIST_HANDLE args, + CORINFO_CLASS_HANDLE* vcTypeRet, + CorInfoTypeWithMod result, + DWORD exception); void dmpGetArgType(const Agnostic_GetArgType& key, const Agnostic_GetArgType_Value& value); - CorInfoTypeWithMod repGetArgType(CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_HANDLE args, CORINFO_CLASS_HANDLE *vcTypeRet, DWORD *exception); + CorInfoTypeWithMod repGetArgType(CORINFO_SIG_INFO* sig, + CORINFO_ARG_LIST_HANDLE args, + CORINFO_CLASS_HANDLE* vcTypeRet, + DWORD* exception); void recGetArgNext(CORINFO_ARG_LIST_HANDLE args, CORINFO_ARG_LIST_HANDLE result); void dmpGetArgNext(DWORDLONG key, DWORDLONG value); CORINFO_ARG_LIST_HANDLE repGetArgNext(CORINFO_ARG_LIST_HANDLE args); - void recGetMethodSig(CORINFO_METHOD_HANDLE ftn, CORINFO_SIG_INFO *sig, CORINFO_CLASS_HANDLE memberParent); + void recGetMethodSig(CORINFO_METHOD_HANDLE ftn, CORINFO_SIG_INFO* sig, CORINFO_CLASS_HANDLE memberParent); void dmpGetMethodSig(DLDL key, const Agnostic_CORINFO_SIG_INFO& value); - void repGetMethodSig(CORINFO_METHOD_HANDLE ftn, CORINFO_SIG_INFO *sig, CORINFO_CLASS_HANDLE memberParent); + void repGetMethodSig(CORINFO_METHOD_HANDLE ftn, CORINFO_SIG_INFO* sig, CORINFO_CLASS_HANDLE memberParent); - void recGetArgClass(CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_HANDLE args, CORINFO_CLASS_HANDLE result, DWORD exceptionCode); + void recGetArgClass(CORINFO_SIG_INFO* sig, + CORINFO_ARG_LIST_HANDLE args, + CORINFO_CLASS_HANDLE result, + DWORD exceptionCode); void dmpGetArgClass(const Agnostic_GetArgClass& key, const Agnostic_GetArgClass_Value& value); - CORINFO_CLASS_HANDLE repGetArgClass(CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_HANDLE args, DWORD *exceptionCode); + CORINFO_CLASS_HANDLE repGetArgClass(CORINFO_SIG_INFO* sig, CORINFO_ARG_LIST_HANDLE args, DWORD* exceptionCode); void recGetHFAType(CORINFO_CLASS_HANDLE clsHnd, CorInfoType result); void dmpGetHFAType(DWORDLONG key, DWORD value); CorInfoType repGetHFAType(CORINFO_CLASS_HANDLE clsHnd); - void recGetMethodInfo(CORINFO_METHOD_HANDLE ftn, CORINFO_METHOD_INFO *info, bool result, DWORD exceptionCode); + void recGetMethodInfo(CORINFO_METHOD_HANDLE ftn, CORINFO_METHOD_INFO* info, bool result, DWORD exceptionCode); void dmpGetMethodInfo(DWORDLONG key, const Agnostic_GetMethodInfo& value); - bool repGetMethodInfo(CORINFO_METHOD_HANDLE ftn, CORINFO_METHOD_INFO *info, DWORD *exceptionCode); + bool repGetMethodInfo(CORINFO_METHOD_HANDLE ftn, CORINFO_METHOD_INFO* info, DWORD* exceptionCode); - void recGetNewHelper(CORINFO_RESOLVED_TOKEN *pResolvedToken, CORINFO_METHOD_HANDLE callerHandle, CorInfoHelpFunc result); + void recGetNewHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CorInfoHelpFunc result); void dmpGetNewHelper(const Agnostic_GetNewHelper& key, DWORD value); - CorInfoHelpFunc repGetNewHelper(CORINFO_RESOLVED_TOKEN *pResolvedToken, CORINFO_METHOD_HANDLE callerHandle); - - void recEmbedGenericHandle(CORINFO_RESOLVED_TOKEN *pResolvedToken, BOOL fEmbedParent, CORINFO_GENERICHANDLE_RESULT *pResult); - void dmpEmbedGenericHandle(const Agnostic_EmbedGenericHandle& key, const Agnostic_CORINFO_GENERICHANDLE_RESULT& value); - void repEmbedGenericHandle(CORINFO_RESOLVED_TOKEN *pResolvedToken, BOOL fEmbedParent, CORINFO_GENERICHANDLE_RESULT *pResult); - - void recGetEHinfo(CORINFO_METHOD_HANDLE ftn, unsigned EHnumber, CORINFO_EH_CLAUSE *clause); + CorInfoHelpFunc repGetNewHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, CORINFO_METHOD_HANDLE callerHandle); + + void recEmbedGenericHandle(CORINFO_RESOLVED_TOKEN* pResolvedToken, + BOOL fEmbedParent, + CORINFO_GENERICHANDLE_RESULT* pResult); + void dmpEmbedGenericHandle(const Agnostic_EmbedGenericHandle& key, + const Agnostic_CORINFO_GENERICHANDLE_RESULT& value); + void repEmbedGenericHandle(CORINFO_RESOLVED_TOKEN* pResolvedToken, + BOOL fEmbedParent, + CORINFO_GENERICHANDLE_RESULT* pResult); + + void recGetEHinfo(CORINFO_METHOD_HANDLE ftn, unsigned EHnumber, CORINFO_EH_CLAUSE* clause); void dmpGetEHinfo(DLD key, const Agnostic_CORINFO_EH_CLAUSE& value); - void repGetEHinfo(CORINFO_METHOD_HANDLE ftn, unsigned EHnumber, CORINFO_EH_CLAUSE *clause); + void repGetEHinfo(CORINFO_METHOD_HANDLE ftn, unsigned EHnumber, CORINFO_EH_CLAUSE* clause); - void recGetMethodVTableOffset(CORINFO_METHOD_HANDLE method, unsigned *offsetOfIndirection, unsigned* offsetAfterIndirection); + void recGetMethodVTableOffset(CORINFO_METHOD_HANDLE method, + unsigned* offsetOfIndirection, + unsigned* offsetAfterIndirection); void dmpGetMethodVTableOffset(DWORDLONG key, DD value); - void repGetMethodVTableOffset(CORINFO_METHOD_HANDLE method, unsigned *offsetOfIndirection, unsigned* offsetAfterIndirection); - - void recResolveVirtualMethod(CORINFO_METHOD_HANDLE virtMethod, CORINFO_CLASS_HANDLE implClass, - CORINFO_CONTEXT_HANDLE ownerType, CORINFO_METHOD_HANDLE result); + void repGetMethodVTableOffset(CORINFO_METHOD_HANDLE method, + unsigned* offsetOfIndirection, + unsigned* offsetAfterIndirection); + + void recResolveVirtualMethod(CORINFO_METHOD_HANDLE virtMethod, + CORINFO_CLASS_HANDLE implClass, + CORINFO_CONTEXT_HANDLE ownerType, + CORINFO_METHOD_HANDLE result); void dmpResolveVirtualMethod(const Agnostic_ResolveVirtualMethod& key, DWORDLONG value); - CORINFO_METHOD_HANDLE repResolveVirtualMethod(CORINFO_METHOD_HANDLE virtMethod, CORINFO_CLASS_HANDLE implClass, - CORINFO_CONTEXT_HANDLE ownerType); + CORINFO_METHOD_HANDLE repResolveVirtualMethod(CORINFO_METHOD_HANDLE virtMethod, + CORINFO_CLASS_HANDLE implClass, + CORINFO_CONTEXT_HANDLE ownerType); - void recGetTokenTypeAsHandle(CORINFO_RESOLVED_TOKEN * pResolvedToken, CORINFO_CLASS_HANDLE result); + void recGetTokenTypeAsHandle(CORINFO_RESOLVED_TOKEN* pResolvedToken, CORINFO_CLASS_HANDLE result); void dmpGetTokenTypeAsHandle(const Agnostic_CORINFO_RESOLVED_TOKEN& key, DWORDLONG value); - CORINFO_CLASS_HANDLE repGetTokenTypeAsHandle(CORINFO_RESOLVED_TOKEN * pResolvedToken); + CORINFO_CLASS_HANDLE repGetTokenTypeAsHandle(CORINFO_RESOLVED_TOKEN* pResolvedToken); - void recGetFieldInfo(CORINFO_RESOLVED_TOKEN *pResolvedToken, CORINFO_METHOD_HANDLE callerHandle, CORINFO_ACCESS_FLAGS flags, - CORINFO_FIELD_INFO *pResult); + void recGetFieldInfo(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CORINFO_ACCESS_FLAGS flags, + CORINFO_FIELD_INFO* pResult); void dmpGetFieldInfo(const Agnostic_GetFieldInfo& key, const Agnostic_CORINFO_FIELD_INFO& value); - void repGetFieldInfo(CORINFO_RESOLVED_TOKEN *pResolvedToken, CORINFO_METHOD_HANDLE callerHandle, CORINFO_ACCESS_FLAGS flags, - CORINFO_FIELD_INFO *pResult); + void repGetFieldInfo(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CORINFO_ACCESS_FLAGS flags, + CORINFO_FIELD_INFO* pResult); - void recEmbedMethodHandle(CORINFO_METHOD_HANDLE handle, void **ppIndirection, CORINFO_METHOD_HANDLE result); + void recEmbedMethodHandle(CORINFO_METHOD_HANDLE handle, void** ppIndirection, CORINFO_METHOD_HANDLE result); void dmpEmbedMethodHandle(DWORDLONG key, DLDL value); - CORINFO_METHOD_HANDLE repEmbedMethodHandle(CORINFO_METHOD_HANDLE handle, void **ppIndirection); + CORINFO_METHOD_HANDLE repEmbedMethodHandle(CORINFO_METHOD_HANDLE handle, void** ppIndirection); - void recGetFieldAddress(CORINFO_FIELD_HANDLE field, void **ppIndirection, void *result, CorInfoType cit); + void recGetFieldAddress(CORINFO_FIELD_HANDLE field, void** ppIndirection, void* result, CorInfoType cit); void dmpGetFieldAddress(DWORDLONG key, const Agnostic_GetFieldAddress& value); - void* repGetFieldAddress(CORINFO_FIELD_HANDLE field, void **ppIndirection); + void* repGetFieldAddress(CORINFO_FIELD_HANDLE field, void** ppIndirection); - void recGetClassGClayout(CORINFO_CLASS_HANDLE cls, BYTE *gcPtrs, unsigned len, unsigned result); + void recGetClassGClayout(CORINFO_CLASS_HANDLE cls, BYTE* gcPtrs, unsigned len, unsigned result); void dmpGetClassGClayout(DWORDLONG key, const Agnostic_GetClassGClayout& value); - unsigned repGetClassGClayout(CORINFO_CLASS_HANDLE cls, BYTE *gcPtrs); + unsigned repGetClassGClayout(CORINFO_CLASS_HANDLE cls, BYTE* gcPtrs); void recGetClassAlignmentRequirement(CORINFO_CLASS_HANDLE cls, BOOL fDoubleAlignHint, unsigned result); void dmpGetClassAlignmentRequirement(DLD key, DWORD value); unsigned repGetClassAlignmentRequirement(CORINFO_CLASS_HANDLE cls, BOOL fDoubleAlignHint); - void recCanAccessClass(CORINFO_RESOLVED_TOKEN *pResolvedToken, CORINFO_METHOD_HANDLE callerHandle, - CORINFO_HELPER_DESC *pAccessHelper, CorInfoIsAccessAllowedResult result); + void recCanAccessClass(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CORINFO_HELPER_DESC* pAccessHelper, + CorInfoIsAccessAllowedResult result); void dmpCanAccessClass(const Agnostic_CanAccessClassIn& key, const Agnostic_CanAccessClassOut& value); - CorInfoIsAccessAllowedResult repCanAccessClass(CORINFO_RESOLVED_TOKEN *pResolvedToken, CORINFO_METHOD_HANDLE callerHandle, - CORINFO_HELPER_DESC *pAccessHelper); + CorInfoIsAccessAllowedResult repCanAccessClass(CORINFO_RESOLVED_TOKEN* pResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CORINFO_HELPER_DESC* pAccessHelper); - void recGetCastingHelper(CORINFO_RESOLVED_TOKEN *pResolvedToken, bool fThrowing, CorInfoHelpFunc result); + void recGetCastingHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, bool fThrowing, CorInfoHelpFunc result); void dmpGetCastingHelper(const Agnostic_GetCastingHelper& key, DWORD value); - CorInfoHelpFunc repGetCastingHelper(CORINFO_RESOLVED_TOKEN *pResolvedToken, bool fThrowing); + CorInfoHelpFunc repGetCastingHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, bool fThrowing); - void recEmbedModuleHandle(CORINFO_MODULE_HANDLE handle, void **ppIndirection, CORINFO_MODULE_HANDLE result); + void recEmbedModuleHandle(CORINFO_MODULE_HANDLE handle, void** ppIndirection, CORINFO_MODULE_HANDLE result); void dmpEmbedModuleHandle(DWORDLONG key, DLDL value); - CORINFO_MODULE_HANDLE repEmbedModuleHandle(CORINFO_MODULE_HANDLE handle, void **ppIndirection); + CORINFO_MODULE_HANDLE repEmbedModuleHandle(CORINFO_MODULE_HANDLE handle, void** ppIndirection); - void recEmbedClassHandle(CORINFO_CLASS_HANDLE handle, void **ppIndirection, CORINFO_CLASS_HANDLE result); + void recEmbedClassHandle(CORINFO_CLASS_HANDLE handle, void** ppIndirection, CORINFO_CLASS_HANDLE result); void dmpEmbedClassHandle(DWORDLONG key, DLDL value); - CORINFO_CLASS_HANDLE repEmbedClassHandle(CORINFO_CLASS_HANDLE handle, void **ppIndirection); + CORINFO_CLASS_HANDLE repEmbedClassHandle(CORINFO_CLASS_HANDLE handle, void** ppIndirection); void recPInvokeMarshalingRequired(CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* callSiteSig, BOOL result); void dmpPInvokeMarshalingRequired(const Agnostic_PInvokeMarshalingRequired& key, DWORD value); BOOL repPInvokeMarshalingRequired(CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* callSiteSig); - void recFindSig(CORINFO_MODULE_HANDLE module, unsigned sigTOK, CORINFO_CONTEXT_HANDLE context, CORINFO_SIG_INFO *sig); + void recFindSig(CORINFO_MODULE_HANDLE module, + unsigned sigTOK, + CORINFO_CONTEXT_HANDLE context, + CORINFO_SIG_INFO* sig); void dmpFindSig(const Agnostic_FindSig& key, const Agnostic_CORINFO_SIG_INFO& value); - void repFindSig(CORINFO_MODULE_HANDLE module, unsigned sigTOK, CORINFO_CONTEXT_HANDLE context, CORINFO_SIG_INFO *sig); + void repFindSig(CORINFO_MODULE_HANDLE module, + unsigned sigTOK, + CORINFO_CONTEXT_HANDLE context, + CORINFO_SIG_INFO* sig); - void recGetEEInfo(CORINFO_EE_INFO *pEEInfoOut); + void recGetEEInfo(CORINFO_EE_INFO* pEEInfoOut); void dmpGetEEInfo(DWORD key, const Agnostic_CORINFO_EE_INFO& value); - void repGetEEInfo(CORINFO_EE_INFO *pEEInfoOut); + void repGetEEInfo(CORINFO_EE_INFO* pEEInfoOut); - void recGetGSCookie(GSCookie *pCookieVal, GSCookie **ppCookieVal); + void recGetGSCookie(GSCookie* pCookieVal, GSCookie** ppCookieVal); void dmpGetGSCookie(DWORD key, DLDL value); - void repGetGSCookie(GSCookie *pCookieVal, GSCookie **ppCookieVal); + void repGetGSCookie(GSCookie* pCookieVal, GSCookie** ppCookieVal); - void recGetClassModuleIdForStatics(CORINFO_CLASS_HANDLE cls, CORINFO_MODULE_HANDLE *pModule, void **ppIndirection, size_t result); + void recGetClassModuleIdForStatics(CORINFO_CLASS_HANDLE cls, + CORINFO_MODULE_HANDLE* pModule, + void** ppIndirection, + size_t result); void dmpGetClassModuleIdForStatics(DWORDLONG key, const Agnostic_GetClassModuleIdForStatics& value); - size_t repGetClassModuleIdForStatics(CORINFO_CLASS_HANDLE cls, CORINFO_MODULE_HANDLE *pModule, void **ppIndirection); + size_t repGetClassModuleIdForStatics(CORINFO_CLASS_HANDLE cls, + CORINFO_MODULE_HANDLE* pModule, + void** ppIndirection); - void recGetThreadTLSIndex(void **ppIndirection, DWORD result); + void recGetThreadTLSIndex(void** ppIndirection, DWORD result); void dmpGetThreadTLSIndex(DWORD key, DLD value); - DWORD repGetThreadTLSIndex(void **ppIndirection); + DWORD repGetThreadTLSIndex(void** ppIndirection); - void recGetInlinedCallFrameVptr(void **ppIndirection, const void * result); + void recGetInlinedCallFrameVptr(void** ppIndirection, const void* result); void dmpGetInlinedCallFrameVptr(DWORD key, DLDL value); - const void * repGetInlinedCallFrameVptr(void **ppIndirection); + const void* repGetInlinedCallFrameVptr(void** ppIndirection); - void recGetAddrOfCaptureThreadGlobal(void **ppIndirection, LONG * result); + void recGetAddrOfCaptureThreadGlobal(void** ppIndirection, LONG* result); void dmpGetAddrOfCaptureThreadGlobal(DWORD key, DLDL value); - LONG * repGetAddrOfCaptureThreadGlobal(void **ppIndirection); + LONG* repGetAddrOfCaptureThreadGlobal(void** ppIndirection); - void recGetClassDomainID(CORINFO_CLASS_HANDLE cls, void **ppIndirection, unsigned result); + void recGetClassDomainID(CORINFO_CLASS_HANDLE cls, void** ppIndirection, unsigned result); void dmpGetClassDomainID(DWORDLONG key, DLD value); - unsigned repGetClassDomainID(CORINFO_CLASS_HANDLE cls, void **ppIndirection); + unsigned repGetClassDomainID(CORINFO_CLASS_HANDLE cls, void** ppIndirection); - void recGetLocationOfThisType(CORINFO_METHOD_HANDLE context, CORINFO_LOOKUP_KIND *result); + void recGetLocationOfThisType(CORINFO_METHOD_HANDLE context, CORINFO_LOOKUP_KIND* result); void dmpGetLocationOfThisType(DWORDLONG key, const Agnostic_CORINFO_LOOKUP_KIND& value); CORINFO_LOOKUP_KIND repGetLocationOfThisType(CORINFO_METHOD_HANDLE context); - void recGetDelegateCtor(CORINFO_METHOD_HANDLE methHnd, CORINFO_CLASS_HANDLE clsHnd, - CORINFO_METHOD_HANDLE targetMethodHnd, DelegateCtorArgs *pCtorData, CORINFO_METHOD_HANDLE result); + void recGetDelegateCtor(CORINFO_METHOD_HANDLE methHnd, + CORINFO_CLASS_HANDLE clsHnd, + CORINFO_METHOD_HANDLE targetMethodHnd, + DelegateCtorArgs* pCtorData, + CORINFO_METHOD_HANDLE result); void dmpGetDelegateCtor(const Agnostic_GetDelegateCtorIn& key, const Agnostic_GetDelegateCtorOut& value); - CORINFO_METHOD_HANDLE repGetDelegateCtor(CORINFO_METHOD_HANDLE methHnd, CORINFO_CLASS_HANDLE clsHnd, - CORINFO_METHOD_HANDLE targetMethodHnd, DelegateCtorArgs *pCtorData); + CORINFO_METHOD_HANDLE repGetDelegateCtor(CORINFO_METHOD_HANDLE methHnd, + CORINFO_CLASS_HANDLE clsHnd, + CORINFO_METHOD_HANDLE targetMethodHnd, + DelegateCtorArgs* pCtorData); - void recGetFunctionFixedEntryPoint(CORINFO_METHOD_HANDLE ftn, CORINFO_CONST_LOOKUP *pResult); + void recGetFunctionFixedEntryPoint(CORINFO_METHOD_HANDLE ftn, CORINFO_CONST_LOOKUP* pResult); void dmpGetFunctionFixedEntryPoint(DWORDLONG key, const Agnostic_CORINFO_CONST_LOOKUP& value); - void repGetFunctionFixedEntryPoint(CORINFO_METHOD_HANDLE ftn, CORINFO_CONST_LOOKUP *pResult); + void repGetFunctionFixedEntryPoint(CORINFO_METHOD_HANDLE ftn, CORINFO_CONST_LOOKUP* pResult); void recGetFieldInClass(CORINFO_CLASS_HANDLE clsHnd, INT num, CORINFO_FIELD_HANDLE result); void dmpGetFieldInClass(DLD key, DWORDLONG value); CORINFO_FIELD_HANDLE repGetFieldInClass(CORINFO_CLASS_HANDLE clsHnd, INT num); - void recGetFieldType(CORINFO_FIELD_HANDLE field, CORINFO_CLASS_HANDLE *structType, CORINFO_CLASS_HANDLE memberParent, CorInfoType result); + void recGetFieldType(CORINFO_FIELD_HANDLE field, + CORINFO_CLASS_HANDLE* structType, + CORINFO_CLASS_HANDLE memberParent, + CorInfoType result); void dmpGetFieldType(DLDL key, DLD value); - CorInfoType repGetFieldType(CORINFO_FIELD_HANDLE field, CORINFO_CLASS_HANDLE *structType, CORINFO_CLASS_HANDLE memberParent); + CorInfoType repGetFieldType(CORINFO_FIELD_HANDLE field, + CORINFO_CLASS_HANDLE* structType, + CORINFO_CLASS_HANDLE memberParent); - void recGetFieldName(CORINFO_FIELD_HANDLE ftn, const char **moduleName, const char* result); + void recGetFieldName(CORINFO_FIELD_HANDLE ftn, const char** moduleName, const char* result); void dmpGetFieldName(DWORDLONG key, DD value); - const char* repGetFieldName(CORINFO_FIELD_HANDLE ftn, const char **moduleName); + const char* repGetFieldName(CORINFO_FIELD_HANDLE ftn, const char** moduleName); void recCanInlineTypeCheckWithObjectVTable(CORINFO_CLASS_HANDLE cls, BOOL result); void dmpCanInlineTypeCheckWithObjectVTable(DWORDLONG key, DWORD value); @@ -825,11 +929,13 @@ public: void dmpSatisfiesMethodConstraints(DLDL key, DWORD value); BOOL repSatisfiesMethodConstraints(CORINFO_CLASS_HANDLE parent, CORINFO_METHOD_HANDLE method); - void recInitConstraintsForVerification(CORINFO_METHOD_HANDLE method, BOOL *pfHasCircularClassConstraints, - BOOL *pfHasCircularMethodConstraint); + void recInitConstraintsForVerification(CORINFO_METHOD_HANDLE method, + BOOL* pfHasCircularClassConstraints, + BOOL* pfHasCircularMethodConstraint); void dmpInitConstraintsForVerification(DWORDLONG key, DD value); - void repInitConstraintsForVerification(CORINFO_METHOD_HANDLE method, BOOL *pfHasCircularClassConstraints, - BOOL *pfHasCircularMethodConstraint); + void repInitConstraintsForVerification(CORINFO_METHOD_HANDLE method, + BOOL* pfHasCircularClassConstraints, + BOOL* pfHasCircularMethodConstraint); void recIsValidStringRef(CORINFO_MODULE_HANDLE module, unsigned metaTOK, BOOL result); void dmpIsValidStringRef(DLD key, DWORD value); @@ -843,28 +949,28 @@ public: void dmpCanCast(DLDL key, DWORD value); BOOL repCanCast(CORINFO_CLASS_HANDLE child, CORINFO_CLASS_HANDLE parent); - void recGetChildType(CORINFO_CLASS_HANDLE clsHnd, CORINFO_CLASS_HANDLE *clsRet, CorInfoType result); + void recGetChildType(CORINFO_CLASS_HANDLE clsHnd, CORINFO_CLASS_HANDLE* clsRet, CorInfoType result); void dmpGetChildType(DWORDLONG key, DLD value); - CorInfoType repGetChildType(CORINFO_CLASS_HANDLE clsHnd, CORINFO_CLASS_HANDLE *clsRet); + CorInfoType repGetChildType(CORINFO_CLASS_HANDLE clsHnd, CORINFO_CLASS_HANDLE* clsRet); - void recGetArrayInitializationData(CORINFO_FIELD_HANDLE field, DWORD size, void *result); + void recGetArrayInitializationData(CORINFO_FIELD_HANDLE field, DWORD size, void* result); void dmpGetArrayInitializationData(DLD key, DWORDLONG value); - void *repGetArrayInitializationData(CORINFO_FIELD_HANDLE field, DWORD size); + void* repGetArrayInitializationData(CORINFO_FIELD_HANDLE field, DWORD size); - void recFilterException(struct _EXCEPTION_POINTERS *pExceptionPointers, int result); + void recFilterException(struct _EXCEPTION_POINTERS* pExceptionPointers, int result); void dmpFilterException(DWORD key, DWORD value); - int repFilterException(struct _EXCEPTION_POINTERS *pExceptionPointers); + int repFilterException(struct _EXCEPTION_POINTERS* pExceptionPointers); - void recHandleException(struct _EXCEPTION_POINTERS *pExceptionPointers); + void recHandleException(struct _EXCEPTION_POINTERS* pExceptionPointers); void dmpHandleException(DWORD key, DWORD value); - void recGetAddressOfPInvokeFixup(CORINFO_METHOD_HANDLE method, void **ppIndirection, void* result); + void recGetAddressOfPInvokeFixup(CORINFO_METHOD_HANDLE method, void** ppIndirection, void* result); void dmpGetAddressOfPInvokeFixup(DWORDLONG key, DLDL value); - void* repGetAddressOfPInvokeFixup(CORINFO_METHOD_HANDLE method, void **ppIndirection); + void* repGetAddressOfPInvokeFixup(CORINFO_METHOD_HANDLE method, void** ppIndirection); - void recGetAddressOfPInvokeTarget(CORINFO_METHOD_HANDLE method, CORINFO_CONST_LOOKUP *pLookup); + void recGetAddressOfPInvokeTarget(CORINFO_METHOD_HANDLE method, CORINFO_CONST_LOOKUP* pLookup); void dmpGetAddressOfPInvokeTarget(DWORDLONG key, DLD value); - void repGetAddressOfPInvokeTarget(CORINFO_METHOD_HANDLE method, CORINFO_CONST_LOOKUP *pLookup); + void repGetAddressOfPInvokeTarget(CORINFO_METHOD_HANDLE method, CORINFO_CONST_LOOKUP* pLookup); void recSatisfiesClassConstraints(CORINFO_CLASS_HANDLE cls, BOOL result); void dmpSatisfiesClassConstraints(DWORDLONG key, DWORD value); @@ -874,63 +980,88 @@ public: void dmpGetMethodHash(DWORDLONG key, DWORD value); unsigned repGetMethodHash(CORINFO_METHOD_HANDLE ftn); - void recCanTailCall(CORINFO_METHOD_HANDLE callerHnd, CORINFO_METHOD_HANDLE declaredCalleeHnd, CORINFO_METHOD_HANDLE exactCalleeHnd, - bool fIsTailPrefix, bool result); + void recCanTailCall(CORINFO_METHOD_HANDLE callerHnd, + CORINFO_METHOD_HANDLE declaredCalleeHnd, + CORINFO_METHOD_HANDLE exactCalleeHnd, + bool fIsTailPrefix, + bool result); void dmpCanTailCall(const Agnostic_CanTailCall& key, DWORD value); - bool repCanTailCall(CORINFO_METHOD_HANDLE callerHnd, CORINFO_METHOD_HANDLE declaredCalleeHnd, CORINFO_METHOD_HANDLE exactCalleeHnd, - bool fIsTailPrefix); - - void recIsCompatibleDelegate(CORINFO_CLASS_HANDLE objCls, CORINFO_CLASS_HANDLE methodParentCls, - CORINFO_METHOD_HANDLE method, CORINFO_CLASS_HANDLE delegateCls, BOOL *pfIsOpenDelegate, BOOL result); + bool repCanTailCall(CORINFO_METHOD_HANDLE callerHnd, + CORINFO_METHOD_HANDLE declaredCalleeHnd, + CORINFO_METHOD_HANDLE exactCalleeHnd, + bool fIsTailPrefix); + + void recIsCompatibleDelegate(CORINFO_CLASS_HANDLE objCls, + CORINFO_CLASS_HANDLE methodParentCls, + CORINFO_METHOD_HANDLE method, + CORINFO_CLASS_HANDLE delegateCls, + BOOL* pfIsOpenDelegate, + BOOL result); void dmpIsCompatibleDelegate(const Agnostic_IsCompatibleDelegate& key, DD value); - BOOL repIsCompatibleDelegate(CORINFO_CLASS_HANDLE objCls, CORINFO_CLASS_HANDLE methodParentCls, - CORINFO_METHOD_HANDLE method, CORINFO_CLASS_HANDLE delegateCls, BOOL *pfIsOpenDelegate); + BOOL repIsCompatibleDelegate(CORINFO_CLASS_HANDLE objCls, + CORINFO_CLASS_HANDLE methodParentCls, + CORINFO_METHOD_HANDLE method, + CORINFO_CLASS_HANDLE delegateCls, + BOOL* pfIsOpenDelegate); void recIsDelegateCreationAllowed(CORINFO_CLASS_HANDLE delegateHnd, CORINFO_METHOD_HANDLE calleeHnd, BOOL result); void dmpIsDelegateCreationAllowed(DLDL key, DWORD value); BOOL repIsDelegateCreationAllowed(CORINFO_CLASS_HANDLE delegateHnd, CORINFO_METHOD_HANDLE calleeHnd); - void recCanSkipMethodVerification(CORINFO_METHOD_HANDLE ftnHandle, BOOL skip, CorInfoCanSkipVerificationResult result); + void recCanSkipMethodVerification(CORINFO_METHOD_HANDLE ftnHandle, + BOOL skip, + CorInfoCanSkipVerificationResult result); void dmpCanSkipMethodVerification(DLD key, DWORD value); CorInfoCanSkipVerificationResult repCanSkipMethodVerification(CORINFO_METHOD_HANDLE ftnHandle, BOOL skip); - void recFindCallSiteSig(CORINFO_MODULE_HANDLE module, unsigned methTOK, CORINFO_CONTEXT_HANDLE context, CORINFO_SIG_INFO *sig); + void recFindCallSiteSig(CORINFO_MODULE_HANDLE module, + unsigned methTOK, + CORINFO_CONTEXT_HANDLE context, + CORINFO_SIG_INFO* sig); void dmpFindCallSiteSig(const Agnostic_FindCallSiteSig& key, const Agnostic_CORINFO_SIG_INFO& value); - void repFindCallSiteSig(CORINFO_MODULE_HANDLE module, unsigned methTOK, CORINFO_CONTEXT_HANDLE context, CORINFO_SIG_INFO *sig); + void repFindCallSiteSig(CORINFO_MODULE_HANDLE module, + unsigned methTOK, + CORINFO_CONTEXT_HANDLE context, + CORINFO_SIG_INFO* sig); void recShouldEnforceCallvirtRestriction(CORINFO_MODULE_HANDLE scope, BOOL result); void dmpShouldEnforceCallvirtRestriction(DWORDLONG key, DWORD value); BOOL repShouldEnforceCallvirtRestriction(CORINFO_MODULE_HANDLE scope); - void recGetMethodSync(CORINFO_METHOD_HANDLE ftn, void **ppIndirection, void* result); + void recGetMethodSync(CORINFO_METHOD_HANDLE ftn, void** ppIndirection, void* result); void dmpGetMethodSync(DWORDLONG key, DLDL value); - void* repGetMethodSync(CORINFO_METHOD_HANDLE ftn, void **ppIndirection); + void* repGetMethodSync(CORINFO_METHOD_HANDLE ftn, void** ppIndirection); - void recGetVarArgsHandle(CORINFO_SIG_INFO *pSig, void **ppIndirection, CORINFO_VARARGS_HANDLE result); + void recGetVarArgsHandle(CORINFO_SIG_INFO* pSig, void** ppIndirection, CORINFO_VARARGS_HANDLE result); void dmpGetVarArgsHandle(const Agnostic_CORINFO_SIG_INFO& key, DLDL value); - CORINFO_VARARGS_HANDLE repGetVarArgsHandle(CORINFO_SIG_INFO *pSig, void **ppIndirection); + CORINFO_VARARGS_HANDLE repGetVarArgsHandle(CORINFO_SIG_INFO* pSig, void** ppIndirection); - void recCanGetVarArgsHandle(CORINFO_SIG_INFO *pSig, bool result); + void recCanGetVarArgsHandle(CORINFO_SIG_INFO* pSig, bool result); void dmpCanGetVarArgsHandle(const Agnostic_CORINFO_SIG_INFO& key, DWORD value); - bool repCanGetVarArgsHandle(CORINFO_SIG_INFO *pSig); + bool repCanGetVarArgsHandle(CORINFO_SIG_INFO* pSig); - void recGetFieldThreadLocalStoreID(CORINFO_FIELD_HANDLE field, void **ppIndirection, DWORD result); + void recGetFieldThreadLocalStoreID(CORINFO_FIELD_HANDLE field, void** ppIndirection, DWORD result); void dmpGetFieldThreadLocalStoreID(DWORDLONG key, DLD value); - DWORD repGetFieldThreadLocalStoreID(CORINFO_FIELD_HANDLE field, void **ppIndirection); + DWORD repGetFieldThreadLocalStoreID(CORINFO_FIELD_HANDLE field, void** ppIndirection); - void recGetBBProfileData(CORINFO_METHOD_HANDLE ftnHnd, ULONG *count, ICorJitInfo::ProfileBuffer **profileBuffer, - ULONG *numRuns, HRESULT result); + void recGetBBProfileData(CORINFO_METHOD_HANDLE ftnHnd, + ULONG* count, + ICorJitInfo::ProfileBuffer** profileBuffer, + ULONG* numRuns, + HRESULT result); void dmpGetBBProfileData(DWORDLONG key, const Agnostic_GetBBProfileData& value); - HRESULT repGetBBProfileData(CORINFO_METHOD_HANDLE ftnHnd, ULONG *count, ICorJitInfo::ProfileBuffer **profileBuffer, - ULONG *numRuns); + HRESULT repGetBBProfileData(CORINFO_METHOD_HANDLE ftnHnd, + ULONG* count, + ICorJitInfo::ProfileBuffer** profileBuffer, + ULONG* numRuns); void recMergeClasses(CORINFO_CLASS_HANDLE cls1, CORINFO_CLASS_HANDLE cls2, CORINFO_CLASS_HANDLE result); void dmpMergeClasses(DLDL key, DWORDLONG value); CORINFO_CLASS_HANDLE repMergeClasses(CORINFO_CLASS_HANDLE cls1, CORINFO_CLASS_HANDLE cls2); - void recGetCookieForPInvokeCalliSig(CORINFO_SIG_INFO* szMetaSig, void ** ppIndirection, LPVOID result); + void recGetCookieForPInvokeCalliSig(CORINFO_SIG_INFO* szMetaSig, void** ppIndirection, LPVOID result); void dmpGetCookieForPInvokeCalliSig(const Agnostic_CORINFO_SIG_INFO& key, DLDL value); - LPVOID repGetCookieForPInvokeCalliSig(CORINFO_SIG_INFO* szMetaSig, void ** ppIndirection); + LPVOID repGetCookieForPInvokeCalliSig(CORINFO_SIG_INFO* szMetaSig, void** ppIndirection); void recCanGetCookieForPInvokeCalliSig(CORINFO_SIG_INFO* szMetaSig, bool result); void dmpCanGetCookieForPInvokeCalliSig(const Agnostic_CORINFO_SIG_INFO& key, DWORD value); @@ -940,32 +1071,38 @@ public: void dmpCanAccessFamily(DLDL key, DWORD value); BOOL repCanAccessFamily(CORINFO_METHOD_HANDLE hCaller, CORINFO_CLASS_HANDLE hInstanceType); - void recErrorList(const char *error); + void recErrorList(const char* error); void dmpErrorList(DWORD key, DWORD value); - void recGetProfilingHandle(BOOL *pbHookFunction, void **pProfilerHandle, BOOL *pbIndirectedHandles); + void recGetProfilingHandle(BOOL* pbHookFunction, void** pProfilerHandle, BOOL* pbIndirectedHandles); void dmpGetProfilingHandle(DWORD key, const Agnostic_GetProfilingHandle& value); - void repGetProfilingHandle(BOOL *pbHookFunction, void **pProfilerHandle, BOOL *pbIndirectedHandles); + void repGetProfilingHandle(BOOL* pbHookFunction, void** pProfilerHandle, BOOL* pbIndirectedHandles); - void recEmbedFieldHandle(CORINFO_FIELD_HANDLE handle, void **ppIndirection, CORINFO_FIELD_HANDLE result); + void recEmbedFieldHandle(CORINFO_FIELD_HANDLE handle, void** ppIndirection, CORINFO_FIELD_HANDLE result); void dmpEmbedFieldHandle(DWORDLONG key, DLDL value); - CORINFO_FIELD_HANDLE repEmbedFieldHandle(CORINFO_FIELD_HANDLE handle, void **ppIndirection); + CORINFO_FIELD_HANDLE repEmbedFieldHandle(CORINFO_FIELD_HANDLE handle, void** ppIndirection); void recAreTypesEquivalent(CORINFO_CLASS_HANDLE cls1, CORINFO_CLASS_HANDLE cls2, BOOL result); void dmpAreTypesEquivalent(DLDL key, DWORD value); BOOL repAreTypesEquivalent(CORINFO_CLASS_HANDLE cls1, CORINFO_CLASS_HANDLE cls2); - void recFindNameOfToken(CORINFO_MODULE_HANDLE module, mdToken metaTOK, char * szFQName, size_t FQNameCapacity, size_t result); + void recFindNameOfToken( + CORINFO_MODULE_HANDLE module, mdToken metaTOK, char* szFQName, size_t FQNameCapacity, size_t result); void dmpFindNameOfToken(DLD key, DLD value); - size_t repFindNameOfToken(CORINFO_MODULE_HANDLE module, mdToken metaTOK, char * szFQName, size_t FQNameCapacity); - - void recGetSystemVAmd64PassStructInRegisterDescriptor(CORINFO_CLASS_HANDLE structHnd, SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR* structPassInRegDescPtr, bool result); - void dmpGetSystemVAmd64PassStructInRegisterDescriptor(DWORDLONG key, const Agnostic_GetSystemVAmd64PassStructInRegisterDescriptor& value); - bool repGetSystemVAmd64PassStructInRegisterDescriptor(CORINFO_CLASS_HANDLE structHnd, SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR* structPassInRegDescPtr); - - void recGetRelocTypeHint(void * target, WORD result); + size_t repFindNameOfToken(CORINFO_MODULE_HANDLE module, mdToken metaTOK, char* szFQName, size_t FQNameCapacity); + + void recGetSystemVAmd64PassStructInRegisterDescriptor( + CORINFO_CLASS_HANDLE structHnd, + SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR* structPassInRegDescPtr, + bool result); + void dmpGetSystemVAmd64PassStructInRegisterDescriptor( + DWORDLONG key, const Agnostic_GetSystemVAmd64PassStructInRegisterDescriptor& value); + bool repGetSystemVAmd64PassStructInRegisterDescriptor( + CORINFO_CLASS_HANDLE structHnd, SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR* structPassInRegDescPtr); + + void recGetRelocTypeHint(void* target, WORD result); void dmpGetRelocTypeHint(DWORDLONG key, DWORD value); - WORD repGetRelocTypeHint(void * target); + WORD repGetRelocTypeHint(void* target); void recIsWriteBarrierHelperRequired(CORINFO_FIELD_HANDLE field, bool result); void dmpIsWriteBarrierHelperRequired(DWORDLONG key, DWORD value); @@ -979,13 +1116,14 @@ public: void dmpGetClassName(DWORDLONG key, DWORD value); const char* repGetClassName(CORINFO_CLASS_HANDLE cls); - void recAppendClassName(CORINFO_CLASS_HANDLE cls, BOOL fNamespace, BOOL fFullInst, BOOL fAssembly, const WCHAR* result); + void recAppendClassName( + CORINFO_CLASS_HANDLE cls, BOOL fNamespace, BOOL fFullInst, BOOL fAssembly, const WCHAR* result); void dmpAppendClassName(const Agnostic_AppendClassName& key, DWORD value); const WCHAR* repAppendClassName(CORINFO_CLASS_HANDLE cls, BOOL fNamespace, BOOL fFullInst, BOOL fAssembly); - void recGetTailCallCopyArgsThunk(CORINFO_SIG_INFO *pSig, CorInfoHelperTailCallSpecialHandling flags, void* result); + void recGetTailCallCopyArgsThunk(CORINFO_SIG_INFO* pSig, CorInfoHelperTailCallSpecialHandling flags, void* result); void dmpGetTailCallCopyArgsThunk(const Agnostic_GetTailCallCopyArgsThunk& key, DWORDLONG value); - void* repGetTailCallCopyArgsThunk(CORINFO_SIG_INFO *pSig, CorInfoHelperTailCallSpecialHandling flags); + void* repGetTailCallCopyArgsThunk(CORINFO_SIG_INFO* pSig, CorInfoHelperTailCallSpecialHandling flags); void recGetMethodDefFromMethod(CORINFO_METHOD_HANDLE hMethod, mdMethodDef result); void dmpGetMethodDefFromMethod(DWORDLONG key, DWORD value); @@ -995,9 +1133,9 @@ public: void dmpCheckMethodModifier(const Agnostic_CheckMethodModifier& key, DWORD value); BOOL repCheckMethodModifier(CORINFO_METHOD_HANDLE hMethod, LPCSTR modifier, BOOL fOptional); - void recGetPInvokeUnmanagedTarget(CORINFO_METHOD_HANDLE method, void **ppIndirection, void* result); + void recGetPInvokeUnmanagedTarget(CORINFO_METHOD_HANDLE method, void** ppIndirection, void* result); void dmpGetPInvokeUnmanagedTarget(DWORDLONG key, DLDL value); - void* repGetPInvokeUnmanagedTarget(CORINFO_METHOD_HANDLE method, void **ppIndirection); + void* repGetPInvokeUnmanagedTarget(CORINFO_METHOD_HANDLE method, void** ppIndirection); void recGetArrayRank(CORINFO_CLASS_HANDLE cls, unsigned result); void dmpGetArrayRank(DWORDLONG key, DWORD value); @@ -1007,192 +1145,189 @@ public: void dmpIsFieldStatic(DWORDLONG key, DWORD value); bool repIsFieldStatic(CORINFO_FIELD_HANDLE fhld); - void recGetIntConfigValue(const wchar_t *name, int defaultValue, int result); + void recGetIntConfigValue(const wchar_t* name, int defaultValue, int result); void dmpGetIntConfigValue(const Agnostic_ConfigIntInfo& key, int value); - int repGetIntConfigValue(const wchar_t *name, int defaultValue); + int repGetIntConfigValue(const wchar_t* name, int defaultValue); - void recGetStringConfigValue(const wchar_t *name, const wchar_t *result); + void recGetStringConfigValue(const wchar_t* name, const wchar_t* result); void dmpGetStringConfigValue(DWORD nameIndex, DWORD result); - const wchar_t *repGetStringConfigValue(const wchar_t *name); + const wchar_t* repGetStringConfigValue(const wchar_t* name); - CompileResult *cr; - CompileResult *originalCR; - int index; + CompileResult* cr; + CompileResult* originalCR; + int index; private: - - #define LWM(map,key,value) LightWeightMap<key, value>* map; - #define DENSELWM(map,value) DenseLightWeightMap<value>* map; - #include "lwmlist.h" - +#define LWM(map, key, value) LightWeightMap<key, value>* map; +#define DENSELWM(map, value) DenseLightWeightMap<value>* map; +#include "lwmlist.h" }; - // ********************* Please keep this up-to-date to ease adding more *************** // Highest packet number: 160 // ************************************************************************************* enum mcPackets { - Packet_AppendClassName = 149, // Added 8/6/2014 - needed for SIMD - Packet_AreTypesEquivalent = 1, - Packet_AsCorInfoType = 2, - Packet_CanAccessClass = 3, - Packet_CanAccessFamily = 4, - Packet_CanCast = 5, - Retired8 = 6, - Packet_GetLazyStringLiteralHelper = 147, //Added 12/20/2013 - as a replacement for CanEmbedModuleHandleForHelper - Packet_CanGetCookieForPInvokeCalliSig = 7, - Packet_CanGetVarArgsHandle = 8, - Packet_CanInline = 9, + Packet_AppendClassName = 149, // Added 8/6/2014 - needed for SIMD + Packet_AreTypesEquivalent = 1, + Packet_AsCorInfoType = 2, + Packet_CanAccessClass = 3, + Packet_CanAccessFamily = 4, + Packet_CanCast = 5, + Retired8 = 6, + Packet_GetLazyStringLiteralHelper = 147, // Added 12/20/2013 - as a replacement for CanEmbedModuleHandleForHelper + Packet_CanGetCookieForPInvokeCalliSig = 7, + Packet_CanGetVarArgsHandle = 8, + Packet_CanInline = 9, Packet_CanInlineTypeCheckWithObjectVTable = 10, - Packet_CanSkipMethodVerification = 11, - Packet_CanTailCall = 12, - Retired4 = 13, - Packet_CheckMethodModifier = 142, //retired as 13 on 2013/07/04 - Retired3 = 14, - Retired5 = 141, //retired as 14 on 2013/07/03 - Packet_CompileMethod = 143, //retired as 141 on 2013/07/09 - Packet_ConstructStringLiteral = 15, - Packet_EmbedClassHandle = 16, - Packet_EmbedFieldHandle = 17, - Packet_EmbedGenericHandle = 18, - Packet_EmbedMethodHandle = 19, - Packet_EmbedModuleHandle = 20, - Packet_EmptyStringLiteral = 21, - Packet_Environment = 136, //Added 4/3/2013 - Packet_ErrorList = 22, - Packet_FilterException = 134, - Packet_FindCallSiteSig = 23, - Retired7 = 24, - Packet_FindNameOfToken = 145,//Added 7/19/2013 - adjusted members to proper types - Packet_GetSystemVAmd64PassStructInRegisterDescriptor = 156, //Added 2/17/2016 - Packet_FindSig = 25, - Packet_GetAddressOfPInvokeFixup = 26, - Packet_GetAddressOfPInvokeTarget = 153, //Added 2/3/2016 - Packet_GetAddrOfCaptureThreadGlobal = 27, - Retired1 = 28, - Packet_GetArgClass = 139, //retired as 28 on 2013/07/03 - Packet_GetHFAType = 159, - Packet_GetArgNext = 29, - Retired2 = 30, - Packet_GetArgType = 140, //retired as 30 on 2013/07/03 - Packet_GetArrayInitializationData = 31, - Packet_GetArrayRank = 32, - Packet_GetBBProfileData = 33, - Packet_GetBoundaries = 34, - Packet_GetBoxHelper = 35, - Packet_GetBuiltinClass = 36, - Packet_GetCallInfo = 37, - Packet_GetCastingHelper = 38, - Packet_GetChildType = 39, - Packet_GetClassAlignmentRequirement = 40, - Packet_GetClassAttribs = 41, - Packet_GetClassDomainID = 42, - Packet_GetClassGClayout = 43, - Packet_GetClassModuleIdForStatics = 44, - Packet_GetClassName = 45, - Packet_GetClassNumInstanceFields = 46, - Packet_GetClassSize = 47, - Packet_GetIntConfigValue = 151, //Added 2/12/2015 - Packet_GetStringConfigValue = 152, // Added 2/12/2015 - Packet_GetCookieForPInvokeCalliSig = 48, - Packet_GetDelegateCtor = 49, - Packet_GetEEInfo = 50, - Packet_GetEHinfo = 51, - Packet_GetFieldAddress = 52, - Packet_GetFieldClass = 53, - Packet_GetFieldInClass = 54, - Packet_GetFieldInfo = 55, - Packet_GetFieldName = 56, - Packet_GetFieldOffset = 57, - Packet_GetFieldThreadLocalStoreID = 58, - Packet_GetFieldType = 59, - Packet_GetFunctionEntryPoint = 60, - Packet_GetFunctionFixedEntryPoint = 61, - Packet_GetGSCookie = 62, - Packet_GetHelperFtn = 63, - Packet_GetHelperName = 64, - Packet_GetInlinedCallFrameVptr = 65, - Packet_GetIntrinsicID = 66, - Packet_GetJitFlags = 154, //Added 2/3/2016 - Packet_GetJitTimeLogFilename = 67, - Packet_GetJustMyCodeHandle = 68, - Packet_GetLocationOfThisType = 69, - Packet_GetMethodAttribs = 70, - Packet_GetMethodClass = 71, - Packet_GetMethodDefFromMethod = 72, - Packet_GetMethodHash = 73, - Packet_GetMethodInfo = 74, - Packet_GetMethodName = 75, - Packet_GetMethodSig = 76, - Packet_GetMethodSync = 77, - Packet_GetMethodVTableOffset = 78, - Packet_GetNewArrHelper = 79, - Packet_GetNewHelper = 80, - Packet_GetParentType = 81, - Packet_GetPInvokeUnmanagedTarget = 82, - Packet_GetProfilingHandle = 83, - Packet_GetRelocTypeHint = 84, - Packet_GetSecurityPrologHelper = 85, - Packet_GetSharedCCtorHelper = 86, - Packet_GetTailCallCopyArgsThunk = 87, - Packet_GetThreadTLSIndex = 88, - Packet_GetTokenTypeAsHandle = 89, - Packet_GetTypeForBox = 90, - Packet_GetTypeForPrimitiveValueClass = 91, - Packet_GetUnBoxHelper = 92, - Packet_GetReadyToRunHelper = 150, //Added 10/10/2014 - Packet_GetReadyToRunDelegateCtorHelper = 157, //Added 3/30/2016 - Packet_GetUnmanagedCallConv = 94, - Packet_GetVarArgsHandle = 95, - Packet_GetVars = 96, - Packet_HandleException = 135, - Packet_InitClass = 97, - Packet_InitConstraintsForVerification = 98, - Packet_IsCompatibleDelegate = 99, - Packet_IsDelegateCreationAllowed = 155, - Packet_IsFieldStatic = 137,//Added 4/9/2013 - needed for 4.5.1 - Packet_IsInSIMDModule = 148,// Added 6/18/2014 - SIMD support - Packet_IsInstantiationOfVerifiedGeneric = 100, - Packet_IsSDArray = 101, + Packet_CanSkipMethodVerification = 11, + Packet_CanTailCall = 12, + Retired4 = 13, + Packet_CheckMethodModifier = 142, // retired as 13 on 2013/07/04 + Retired3 = 14, + Retired5 = 141, // retired as 14 on 2013/07/03 + Packet_CompileMethod = 143, // retired as 141 on 2013/07/09 + Packet_ConstructStringLiteral = 15, + Packet_EmbedClassHandle = 16, + Packet_EmbedFieldHandle = 17, + Packet_EmbedGenericHandle = 18, + Packet_EmbedMethodHandle = 19, + Packet_EmbedModuleHandle = 20, + Packet_EmptyStringLiteral = 21, + Packet_Environment = 136, // Added 4/3/2013 + Packet_ErrorList = 22, + Packet_FilterException = 134, + Packet_FindCallSiteSig = 23, + Retired7 = 24, + Packet_FindNameOfToken = 145, // Added 7/19/2013 - adjusted members to proper types + Packet_GetSystemVAmd64PassStructInRegisterDescriptor = 156, // Added 2/17/2016 + Packet_FindSig = 25, + Packet_GetAddressOfPInvokeFixup = 26, + Packet_GetAddressOfPInvokeTarget = 153, // Added 2/3/2016 + Packet_GetAddrOfCaptureThreadGlobal = 27, + Retired1 = 28, + Packet_GetArgClass = 139, // retired as 28 on 2013/07/03 + Packet_GetHFAType = 159, + Packet_GetArgNext = 29, + Retired2 = 30, + Packet_GetArgType = 140, // retired as 30 on 2013/07/03 + Packet_GetArrayInitializationData = 31, + Packet_GetArrayRank = 32, + Packet_GetBBProfileData = 33, + Packet_GetBoundaries = 34, + Packet_GetBoxHelper = 35, + Packet_GetBuiltinClass = 36, + Packet_GetCallInfo = 37, + Packet_GetCastingHelper = 38, + Packet_GetChildType = 39, + Packet_GetClassAlignmentRequirement = 40, + Packet_GetClassAttribs = 41, + Packet_GetClassDomainID = 42, + Packet_GetClassGClayout = 43, + Packet_GetClassModuleIdForStatics = 44, + Packet_GetClassName = 45, + Packet_GetClassNumInstanceFields = 46, + Packet_GetClassSize = 47, + Packet_GetIntConfigValue = 151, // Added 2/12/2015 + Packet_GetStringConfigValue = 152, // Added 2/12/2015 + Packet_GetCookieForPInvokeCalliSig = 48, + Packet_GetDelegateCtor = 49, + Packet_GetEEInfo = 50, + Packet_GetEHinfo = 51, + Packet_GetFieldAddress = 52, + Packet_GetFieldClass = 53, + Packet_GetFieldInClass = 54, + Packet_GetFieldInfo = 55, + Packet_GetFieldName = 56, + Packet_GetFieldOffset = 57, + Packet_GetFieldThreadLocalStoreID = 58, + Packet_GetFieldType = 59, + Packet_GetFunctionEntryPoint = 60, + Packet_GetFunctionFixedEntryPoint = 61, + Packet_GetGSCookie = 62, + Packet_GetHelperFtn = 63, + Packet_GetHelperName = 64, + Packet_GetInlinedCallFrameVptr = 65, + Packet_GetIntrinsicID = 66, + Packet_GetJitFlags = 154, // Added 2/3/2016 + Packet_GetJitTimeLogFilename = 67, + Packet_GetJustMyCodeHandle = 68, + Packet_GetLocationOfThisType = 69, + Packet_GetMethodAttribs = 70, + Packet_GetMethodClass = 71, + Packet_GetMethodDefFromMethod = 72, + Packet_GetMethodHash = 73, + Packet_GetMethodInfo = 74, + Packet_GetMethodName = 75, + Packet_GetMethodSig = 76, + Packet_GetMethodSync = 77, + Packet_GetMethodVTableOffset = 78, + Packet_GetNewArrHelper = 79, + Packet_GetNewHelper = 80, + Packet_GetParentType = 81, + Packet_GetPInvokeUnmanagedTarget = 82, + Packet_GetProfilingHandle = 83, + Packet_GetRelocTypeHint = 84, + Packet_GetSecurityPrologHelper = 85, + Packet_GetSharedCCtorHelper = 86, + Packet_GetTailCallCopyArgsThunk = 87, + Packet_GetThreadTLSIndex = 88, + Packet_GetTokenTypeAsHandle = 89, + Packet_GetTypeForBox = 90, + Packet_GetTypeForPrimitiveValueClass = 91, + Packet_GetUnBoxHelper = 92, + Packet_GetReadyToRunHelper = 150, // Added 10/10/2014 + Packet_GetReadyToRunDelegateCtorHelper = 157, // Added 3/30/2016 + Packet_GetUnmanagedCallConv = 94, + Packet_GetVarArgsHandle = 95, + Packet_GetVars = 96, + Packet_HandleException = 135, + Packet_InitClass = 97, + Packet_InitConstraintsForVerification = 98, + Packet_IsCompatibleDelegate = 99, + Packet_IsDelegateCreationAllowed = 155, + Packet_IsFieldStatic = 137, // Added 4/9/2013 - needed for 4.5.1 + Packet_IsInSIMDModule = 148, // Added 6/18/2014 - SIMD support + Packet_IsInstantiationOfVerifiedGeneric = 100, + Packet_IsSDArray = 101, Packet_IsStructRequiringStackAllocRetBuf = 102, - Packet_IsValidStringRef = 103, - Retired6 = 104, - Packet_IsValidToken = 144,//Added 7/19/2013 - adjusted members to proper types - Packet_IsValueClass = 105, - Packet_IsWriteBarrierHelperRequired = 106, - Packet_MergeClasses = 107, - Packet_PInvokeMarshalingRequired = 108, - Packet_ResolveToken = 109, - Packet_ResolveVirtualMethod = 160, // Added 2/13/17 - Packet_TryResolveToken = 158, //Added 4/26/2016 - Packet_SatisfiesClassConstraints = 110, - Packet_SatisfiesMethodConstraints = 111, + Packet_IsValidStringRef = 103, + Retired6 = 104, + Packet_IsValidToken = 144, // Added 7/19/2013 - adjusted members to proper types + Packet_IsValueClass = 105, + Packet_IsWriteBarrierHelperRequired = 106, + Packet_MergeClasses = 107, + Packet_PInvokeMarshalingRequired = 108, + Packet_ResolveToken = 109, + Packet_ResolveVirtualMethod = 160, // Added 2/13/17 + Packet_TryResolveToken = 158, // Added 4/26/2016 + Packet_SatisfiesClassConstraints = 110, + Packet_SatisfiesMethodConstraints = 111, Packet_ShouldEnforceCallvirtRestriction = 112, - PacketCR_AddressMap = 113, + PacketCR_AddressMap = 113, PacketCR_AllocBBProfileBuffer = 131, - PacketCR_AllocGCInfo = 114, - PacketCR_AllocMem = 115, - PacketCR_AllocUnwindInfo = 132, - PacketCR_AssertLog = 138, //Added 6/10/2013 - added to nicely support ilgen - PacketCR_CallLog = 116, - PacketCR_ClassMustBeLoadedBeforeCodeIsRun = 117, - PacketCR_CompileMethod = 118, - PacketCR_MessageLog = 119, + PacketCR_AllocGCInfo = 114, + PacketCR_AllocMem = 115, + PacketCR_AllocUnwindInfo = 132, + PacketCR_AssertLog = 138, // Added 6/10/2013 - added to nicely support ilgen + PacketCR_CallLog = 116, + PacketCR_ClassMustBeLoadedBeforeCodeIsRun = 117, + PacketCR_CompileMethod = 118, + PacketCR_MessageLog = 119, PacketCR_MethodMustBeLoadedBeforeCodeIsRun = 120, - PacketCR_ProcessName = 121, - PacketCR_RecordRelocation = 122, - PacketCR_ReportFatalError = 123, - PacketCR_ReportInliningDecision = 124, - PacketCR_ReportTailCallDecision = 125, - PacketCR_ReserveUnwindInfo = 133, - PacketCR_SetBoundaries = 126, - PacketCR_SetEHcount = 127, - PacketCR_SetEHinfo = 128, - PacketCR_SetMethodAttribs = 129, - PacketCR_SetVars = 130, - PacketCR_RecordCallSite = 146, //Added 10/28/2013 - to support indirect calls + PacketCR_ProcessName = 121, + PacketCR_RecordRelocation = 122, + PacketCR_ReportFatalError = 123, + PacketCR_ReportInliningDecision = 124, + PacketCR_ReportTailCallDecision = 125, + PacketCR_ReserveUnwindInfo = 133, + PacketCR_SetBoundaries = 126, + PacketCR_SetEHcount = 127, + PacketCR_SetEHinfo = 128, + PacketCR_SetMethodAttribs = 129, + PacketCR_SetVars = 130, + PacketCR_RecordCallSite = 146, // Added 10/28/2013 - to support indirect calls }; #endif |