summaryrefslogtreecommitdiff
path: root/src/vm/compile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/compile.cpp')
-rw-r--r--src/vm/compile.cpp24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/vm/compile.cpp b/src/vm/compile.cpp
index 91615851c7..9727430398 100644
--- a/src/vm/compile.cpp
+++ b/src/vm/compile.cpp
@@ -652,22 +652,6 @@ HRESULT CEECompileInfo::SetCompilationTarget(CORINFO_ASSEMBLY_HANDLE assembl
}
}
-#ifdef FEATURE_READYTORUN_COMPILER
- if (IsReadyToRunCompilation() && !pModule->IsILOnly())
- {
- GetSvcLogger()->Printf(LogLevel_Error, W("Error: /readytorun not supported for mixed mode assemblies\n"));
- return E_FAIL;
- }
-#endif
-
-#ifdef FEATURE_READYTORUN_COMPILER
- if (IsReadyToRunCompilation() && !pModule->IsILOnly())
- {
- GetSvcLogger()->Printf(LogLevel_Error, W("Error: /readytorun not supported for mixed mode assemblies\n"));
- return E_FAIL;
- }
-#endif
-
return S_OK;
}
@@ -1723,6 +1707,12 @@ mdToken CEECompileInfo::TryEncodeMethodAsToken(
if (!pReferencingModule->IsInCurrentVersionBubble())
return mdTokenNil;
+ // If this is a MemberRef with TypeSpec, we might come to here because we resolved the method
+ // into a non-generic base class in the same version bubble. However, since we don't have the
+ // proper type context during ExternalMethodFixupWorker, we can't really encode using token
+ if (pResolvedToken->pTypeSpec != NULL)
+ return mdTokenNil;
+
unsigned methodToken = pResolvedToken->token;
switch (TypeFromToken(methodToken))
@@ -6803,7 +6793,7 @@ void CEEPreloader::GetRVAFieldData(mdFieldDef fd, PVOID * ppData, DWORD * pcbSiz
if (pFD == NULL)
ThrowHR(COR_E_TYPELOAD);
- _ASSERTE(pFD->IsILOnlyRVAField());
+ _ASSERTE(pFD->IsRVA());
UINT size = pFD->LoadSize();