summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Andreenko <seandree@microsoft.com>2017-03-28 16:25:58 -0700
committerGitHub <noreply@github.com>2017-03-28 16:25:58 -0700
commit9afde0a2de16b0df63f77847c29e88613cb96ff4 (patch)
treef4be53893caad243920f87c1f33806fa74be16b7 /src
parent1b12399658ad04ced9a0478308094caa57e475e2 (diff)
downloadcoreclr-9afde0a2de16b0df63f77847c29e88613cb96ff4.tar.gz
coreclr-9afde0a2de16b0df63f77847c29e88613cb96ff4.tar.bz2
coreclr-9afde0a2de16b0df63f77847c29e88613cb96ff4.zip
Ctor Jit-EE interface change (#10512)
Change JIT-EE interface for getReadyToRunDelegateCtorHelper. Update GUID.
Diffstat (limited to 'src')
-rw-r--r--src/ToolBox/superpmi/superpmi-shared/icorjitinfoimpl.h2
-rw-r--r--src/ToolBox/superpmi/superpmi-shared/methodcontext.cpp4
-rw-r--r--src/ToolBox/superpmi/superpmi-shared/methodcontext.h4
-rw-r--r--src/ToolBox/superpmi/superpmi-shim-collector/icorjitinfo.cpp2
-rw-r--r--src/ToolBox/superpmi/superpmi-shim-counter/icorjitinfo.cpp2
-rw-r--r--src/ToolBox/superpmi/superpmi-shim-simple/icorjitinfo.cpp2
-rw-r--r--src/ToolBox/superpmi/superpmi/icorjitinfo.cpp2
-rw-r--r--src/inc/corinfo.h14
-rw-r--r--src/jit/flowgraph.cpp5
-rw-r--r--src/vm/jitinterface.cpp2
-rw-r--r--src/vm/jitinterface.h2
-rw-r--r--src/zap/zapinfo.cpp8
-rw-r--r--src/zap/zapinfo.h2
13 files changed, 26 insertions, 25 deletions
diff --git a/src/ToolBox/superpmi/superpmi-shared/icorjitinfoimpl.h b/src/ToolBox/superpmi/superpmi-shared/icorjitinfoimpl.h
index 35903181d6..0c5b269899 100644
--- a/src/ToolBox/superpmi/superpmi-shared/icorjitinfoimpl.h
+++ b/src/ToolBox/superpmi/superpmi-shared/icorjitinfoimpl.h
@@ -475,7 +475,7 @@ public:
void getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
);
const char* getHelperName(
diff --git a/src/ToolBox/superpmi/superpmi-shared/methodcontext.cpp b/src/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
index 4524e50dad..8638e0d825 100644
--- a/src/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
+++ b/src/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
@@ -2283,7 +2283,7 @@ bool MethodContext::repGetReadyToRunHelper(
void MethodContext::recGetReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
)
{
LogError("GetReadyToRunDelegateCtorHelper NYI");
@@ -2302,7 +2302,7 @@ void MethodContext::dmpGetReadyToRunDelegateCtorHelper(DWORDLONG key, DWORD valu
void MethodContext::repGetReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
)
{
LogError("getReadyToRunDelegateCtorHelper NYI");
diff --git a/src/ToolBox/superpmi/superpmi-shared/methodcontext.h b/src/ToolBox/superpmi/superpmi-shared/methodcontext.h
index 5827fff00c..b2224d91ae 100644
--- a/src/ToolBox/superpmi/superpmi-shared/methodcontext.h
+++ b/src/ToolBox/superpmi/superpmi-shared/methodcontext.h
@@ -639,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);
diff --git a/src/ToolBox/superpmi/superpmi-shim-collector/icorjitinfo.cpp b/src/ToolBox/superpmi/superpmi-shim-collector/icorjitinfo.cpp
index 0952a9534b..6d64442a21 100644
--- a/src/ToolBox/superpmi/superpmi-shim-collector/icorjitinfo.cpp
+++ b/src/ToolBox/superpmi/superpmi-shim-collector/icorjitinfo.cpp
@@ -884,7 +884,7 @@ bool interceptor_ICJI::getReadyToRunHelper(
void interceptor_ICJI::getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
)
{
mc->cr->AddCall("getReadyToRunDelegateCtorHelper");
diff --git a/src/ToolBox/superpmi/superpmi-shim-counter/icorjitinfo.cpp b/src/ToolBox/superpmi/superpmi-shim-counter/icorjitinfo.cpp
index c3a101ea4a..492d08908d 100644
--- a/src/ToolBox/superpmi/superpmi-shim-counter/icorjitinfo.cpp
+++ b/src/ToolBox/superpmi/superpmi-shim-counter/icorjitinfo.cpp
@@ -712,7 +712,7 @@ bool interceptor_ICJI::getReadyToRunHelper(
void interceptor_ICJI::getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
)
{
mcs->AddCall("getReadyToRunDelegateCtorHelper");
diff --git a/src/ToolBox/superpmi/superpmi-shim-simple/icorjitinfo.cpp b/src/ToolBox/superpmi/superpmi-shim-simple/icorjitinfo.cpp
index 81e2e44354..8941685fe3 100644
--- a/src/ToolBox/superpmi/superpmi-shim-simple/icorjitinfo.cpp
+++ b/src/ToolBox/superpmi/superpmi-shim-simple/icorjitinfo.cpp
@@ -647,7 +647,7 @@ bool interceptor_ICJI::getReadyToRunHelper(
void interceptor_ICJI::getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
)
{
original_ICorJitInfo->getReadyToRunDelegateCtorHelper(pTargetMethod, delegateType, pLookup);
diff --git a/src/ToolBox/superpmi/superpmi/icorjitinfo.cpp b/src/ToolBox/superpmi/superpmi/icorjitinfo.cpp
index e0aebd67d1..6478b3c684 100644
--- a/src/ToolBox/superpmi/superpmi/icorjitinfo.cpp
+++ b/src/ToolBox/superpmi/superpmi/icorjitinfo.cpp
@@ -769,7 +769,7 @@ bool MyICJI::getReadyToRunHelper(
void MyICJI::getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
)
{
jitInstance->mc->cr->AddCall("getReadyToRunDelegateCtorHelper");
diff --git a/src/inc/corinfo.h b/src/inc/corinfo.h
index ccb1929df7..f7560b2fb5 100644
--- a/src/inc/corinfo.h
+++ b/src/inc/corinfo.h
@@ -214,12 +214,12 @@ TODO: Talk about initializing strutures before use
#endif
// Update this one
-SELECTANY const GUID JITEEVersionIdentifier = { /* 3d43decb-a611-4413-a0af-a24278a00e2d */
- 0x3d43decb,
- 0xa611,
- 0x4413,
- {0xa0, 0xaf, 0xa2, 0x42, 0x78, 0xa0, 0x0e, 0x2d}
- };
+SELECTANY const GUID JITEEVersionIdentifier = { /* 61783541-8fc0-44ce-80f7-7789b93a3309 */
+ 0x61783541,
+ 0x8fc0,
+ 0x44ce,
+ { 0x80, 0xf7, 0x77, 0x89, 0xb9, 0x3a, 0x33, 0x09 }
+};
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//
@@ -2394,7 +2394,7 @@ public:
virtual void getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
) = 0;
virtual const char* getHelperName(
diff --git a/src/jit/flowgraph.cpp b/src/jit/flowgraph.cpp
index 79c955006d..720cc504dd 100644
--- a/src/jit/flowgraph.cpp
+++ b/src/jit/flowgraph.cpp
@@ -7133,9 +7133,10 @@ GenTreePtr Compiler::fgOptimizeDelegateConstructor(GenTreeCall* call, CORINFO_CO
call = gtNewHelperCallNode(CORINFO_HELP_READYTORUN_DELEGATE_CTOR, TYP_VOID, GTF_EXCEPT, helperArgs);
CORINFO_RESOLVED_TOKEN* ldftnToken = targetMethod->gtFptrVal.gtLdftnResolvedToken;
- CORINFO_CONST_LOOKUP entryPoint;
+ CORINFO_LOOKUP entryPoint;
info.compCompHnd->getReadyToRunDelegateCtorHelper(ldftnToken, clsHnd, &entryPoint);
- call->setEntryPoint(entryPoint);
+ assert(!entryPoint.lookupKind.needsRuntimeLookup);
+ call->setEntryPoint(entryPoint.constLookup);
}
}
else
diff --git a/src/vm/jitinterface.cpp b/src/vm/jitinterface.cpp
index 1f8ebfc688..248deac04d 100644
--- a/src/vm/jitinterface.cpp
+++ b/src/vm/jitinterface.cpp
@@ -6338,7 +6338,7 @@ bool CEEInfo::getReadyToRunHelper(
void CEEInfo::getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
)
{
LIMITED_METHOD_CONTRACT;
diff --git a/src/vm/jitinterface.h b/src/vm/jitinterface.h
index 14a4f70aaf..d287248d24 100644
--- a/src/vm/jitinterface.h
+++ b/src/vm/jitinterface.h
@@ -520,7 +520,7 @@ public:
void getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
);
CorInfoInitClassResult initClass(
diff --git a/src/zap/zapinfo.cpp b/src/zap/zapinfo.cpp
index 4cc7e9fe15..9713ce57ea 100644
--- a/src/zap/zapinfo.cpp
+++ b/src/zap/zapinfo.cpp
@@ -3500,14 +3500,14 @@ bool ZapInfo::getReadyToRunHelper(CORINFO_RESOLVED_TOKEN * pResolvedToken,
void ZapInfo::getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
)
{
#ifdef FEATURE_READYTORUN_COMPILER
_ASSERTE(IsReadyToRunCompilation());
-
- pLookup->accessType = IAT_PVALUE;
- pLookup->addr = m_pImage->GetImportTable()->GetDynamicHelperCell(
+ pLookup->lookupKind.needsRuntimeLookup = false;
+ pLookup->constLookup.accessType = IAT_PVALUE;
+ pLookup->constLookup.addr = m_pImage->GetImportTable()->GetDynamicHelperCell(
(CORCOMPILE_FIXUP_BLOB_KIND)(ENCODE_DELEGATE_CTOR), pTargetMethod->hMethod, pTargetMethod, delegateType);
#endif
}
diff --git a/src/zap/zapinfo.h b/src/zap/zapinfo.h
index 973170f09d..6e83657170 100644
--- a/src/zap/zapinfo.h
+++ b/src/zap/zapinfo.h
@@ -558,7 +558,7 @@ public:
void getReadyToRunDelegateCtorHelper(
CORINFO_RESOLVED_TOKEN * pTargetMethod,
CORINFO_CLASS_HANDLE delegateType,
- CORINFO_CONST_LOOKUP * pLookup
+ CORINFO_LOOKUP * pLookup
);
CorInfoInitClassResult initClass(