diff options
Diffstat (limited to 'src/ToolBox/superpmi/superpmi-shared/methodcontext.h')
-rw-r--r-- | src/ToolBox/superpmi/superpmi-shared/methodcontext.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/ToolBox/superpmi/superpmi-shared/methodcontext.h b/src/ToolBox/superpmi/superpmi-shared/methodcontext.h index 0d49666e5c..b2224d91ae 100644 --- a/src/ToolBox/superpmi/superpmi-shared/methodcontext.h +++ b/src/ToolBox/superpmi/superpmi-shared/methodcontext.h @@ -436,6 +436,13 @@ public: DWORD result; }; + struct Agnostic_ResolveVirtualMethod + { + DWORDLONG virtualMethod; + DWORDLONG implementingClass; + DWORDLONG ownerType; + }; + #pragma pack(pop) MethodContext(); @@ -632,9 +639,9 @@ public: 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_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_CONST_LOOKUP* pLookup); + void repGetReadyToRunDelegateCtorHelper(CORINFO_RESOLVED_TOKEN* pTargetMethod, CORINFO_CLASS_HANDLE delegateType, CORINFO_LOOKUP* pLookup); void recGetHelperFtn(CorInfoHelpFunc ftnNum, void **ppIndirection, void *result); void dmpGetHelperFtn(DWORD key, DLDL value); @@ -698,6 +705,12 @@ public: 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 dmpResolveVirtualMethod(const Agnostic_ResolveVirtualMethod& key, DWORDLONG value); + 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 dmpGetTokenTypeAsHandle(const Agnostic_CORINFO_RESOLVED_TOKEN& key, DWORDLONG value); CORINFO_CLASS_HANDLE repGetTokenTypeAsHandle(CORINFO_RESOLVED_TOKEN * pResolvedToken); @@ -1016,7 +1029,7 @@ private: // ********************* Please keep this up-to-date to ease adding more *************** -// Highest packet number: 159 +// Highest packet number: 160 // ************************************************************************************* enum mcPackets { @@ -1151,6 +1164,7 @@ enum mcPackets 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, |