Add CORINFO_CALLINFO_ATYPICAL_CALLSITE flag to JIT-EE interface
authorJan Kotas <jkotas@microsoft.com>
Wed, 19 Aug 2015 00:51:38 +0000 (17:51 -0700)
committerJan Kotas <jkotas@microsoft.com>
Wed, 19 Aug 2015 00:51:38 +0000 (17:51 -0700)
CORINFO_CALLINFO_ATYPICAL_CALLSITE is meant to be used in situations where the code generator cannot guarantee that the callsite can be disassembled by delay load helper (e.g. it is not  call [rel32] on x86/x64)

src/inc/corinfo.h
src/zap/zapinfo.cpp

index 89e53d6..4c9034b 100644 (file)
@@ -1759,6 +1759,7 @@ enum CORINFO_CALLINFO_FLAGS
     CORINFO_CALLINFO_VERIFICATION   = 0x0008,   // Gets extra verification information.
     CORINFO_CALLINFO_SECURITYCHECKS = 0x0010,   // Perform security checks.
     CORINFO_CALLINFO_LDFTN          = 0x0020,   // Resolving target of LDFTN
+    CORINFO_CALLINFO_ATYPICAL_CALLSITE = 0x0040, // Atypical callsite that cannot be disassembled by delay loading helper
 };
 
 enum CorInfoIsAccessAllowedResult
index 0e874d0..dbdd26e 100644 (file)
@@ -2955,7 +2955,7 @@ void ZapInfo::getCallInfo(CORINFO_RESOLVED_TOKEN * pResolvedToken,
 
             ZapImport * pImport;
 
-            if (flags & CORINFO_CALLINFO_LDFTN)
+            if (flags & (CORINFO_CALLINFO_LDFTN | CORINFO_CALLINFO_ATYPICAL_CALLSITE))
             {
                 pImport = m_pImage->GetImportTable()->GetMethodImport(ENCODE_METHOD_ENTRY, pResult->hMethod, pResolvedToken, pConstrainedResolvedToken);