diff options
author | dotnet-bot <dotnet-bot@microsoft.com> | 2015-05-06 23:43:46 -0700 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2015-05-07 12:03:00 -0700 |
commit | 484a2cf0b0c4e304a5093ec26e07fe41f8896c3c (patch) | |
tree | 348b56df4cdb235bb87ba9bc9118711c8db13bfd /src/vm/compile.cpp | |
parent | c6efc7047edb38075310cfef8ea28b91717b8108 (diff) | |
download | coreclr-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.cpp | 19 |
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 |