summaryrefslogtreecommitdiff
path: root/src/vm/compile.cpp
diff options
context:
space:
mode:
authordotnet-bot <dotnet-bot@microsoft.com>2015-05-06 23:43:46 -0700
committerJan Kotas <jkotas@microsoft.com>2015-05-07 12:03:00 -0700
commit484a2cf0b0c4e304a5093ec26e07fe41f8896c3c (patch)
tree348b56df4cdb235bb87ba9bc9118711c8db13bfd /src/vm/compile.cpp
parentc6efc7047edb38075310cfef8ea28b91717b8108 (diff)
downloadcoreclr-484a2cf0b0c4e304a5093ec26e07fe41f8896c3c.tar.gz
coreclr-484a2cf0b0c4e304a5093ec26e07fe41f8896c3c.tar.bz2
coreclr-484a2cf0b0c4e304a5093ec26e07fe41f8896c3c.zip
Merge changes from parent branch
[tfs-changeset: 1466545]
Diffstat (limited to 'src/vm/compile.cpp')
-rw-r--r--src/vm/compile.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/vm/compile.cpp b/src/vm/compile.cpp
index 7d7892b3c7..d77a285a04 100644
--- a/src/vm/compile.cpp
+++ b/src/vm/compile.cpp
@@ -1033,7 +1033,7 @@ HRESULT CEECompileInfo::SetCompilationTarget(CORINFO_ASSEMBLY_HANDLE assembl
mscorlib.InitializeSpec(SystemDomain::SystemFile());
GetAppDomain()->BindAssemblySpec(&mscorlib,TRUE,FALSE);
- if (!SystemDomain::SystemFile()->HasNativeImage())
+ if (!IsReadyToRunCompilation() && !SystemDomain::SystemFile()->HasNativeImage())
{
if (!CLRConfig::GetConfigValue(CLRConfig::INTERNAL_NgenAllowMscorlibSoftbind))
{
@@ -2527,6 +2527,11 @@ BOOL CEECompileInfo::NeedsTypeLayoutCheck(CORINFO_CLASS_HANDLE classHnd)
if (!pMT->IsValueType())
return FALSE;
+ // Skip this check for equivalent types. Equivalent types are used for interop that ensures
+ // matching layout.
+ if (pMT->GetClass()->IsEquivalentType())
+ return FALSE;
+
return !pMT->IsLayoutFixedInCurrentVersionBubble();
}
@@ -8191,4 +8196,16 @@ HRESULT CompilationDomain::SetPlatformWinmdPaths(LPCWSTR pwzPlatformWinmdPaths)
}
#endif // CROSSGEN_COMPILE
+#if defined(_TARGET_AMD64_) && !defined(FEATURE_CORECLR)
+bool UseRyuJit()
+{
+#ifdef CROSSGEN_COMPILE
+ return true;
+#else
+ static ConfigDWORD useRyuJitValue;
+ return useRyuJitValue.val(CLRConfig::INTERNAL_UseRyuJit) == 1 || IsNgenOffline();
+#endif
+}
+#endif
+
#endif // FEATURE_PREJIT