summaryrefslogtreecommitdiff
path: root/src/zap/zapimage.cpp
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2016-02-03 06:18:44 -0800
committerJan Kotas <jkotas@microsoft.com>2016-02-03 06:18:44 -0800
commitd747b85536994e4c73c3f810d9e7b9cb46e02745 (patch)
treeef950ddc845ede744fbe30ca248398f0f9997a88 /src/zap/zapimage.cpp
parentc92c399cee4c2c772093b67cb6f6cac3d705adc8 (diff)
downloadcoreclr-d747b85536994e4c73c3f810d9e7b9cb46e02745.tar.gz
coreclr-d747b85536994e4c73c3f810d9e7b9cb46e02745.tar.bz2
coreclr-d747b85536994e4c73c3f810d9e7b9cb46e02745.zip
Integrate changes from full .NET Framework
- Custom attribute to suppress NGen with method granularity - Static contract fixes - GC fix [tfs-changeset: 1571860]
Diffstat (limited to 'src/zap/zapimage.cpp')
-rw-r--r--src/zap/zapimage.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/zap/zapimage.cpp b/src/zap/zapimage.cpp
index 727f457e94..887051a67b 100644
--- a/src/zap/zapimage.cpp
+++ b/src/zap/zapimage.cpp
@@ -3752,12 +3752,14 @@ ZapImage::CompileStatus ZapImage::TryCompileMethodWorker(CORINFO_METHOD_HANDLE h
if (m_zapper->m_pOpt->m_onlyOneMethod && (m_zapper->m_pOpt->m_onlyOneMethod != md))
return NOT_COMPILED;
+ if (GetCompileInfo()->HasCustomAttribute(handle, "System.Runtime.BypassNGenAttribute"))
+ return NOT_COMPILED;
+
#ifdef MDIL
// This is a quick workaround to opt specific methods out of MDIL generation to work around bugs.
if (m_zapper->m_pOpt->m_compilerFlags & CORJIT_FLG_MDIL)
{
- HRESULT hr = m_pMDImport->GetCustomAttributeByName(md, "System.Runtime.BypassMdilAttribute", NULL, NULL);
- if (hr == S_OK)
+ if (GetCompileInfo()->HasCustomAttribute(handle, "System.Runtime.BypassMdilAttribute"))
return NOT_COMPILED;
}
#endif
@@ -3766,8 +3768,7 @@ ZapImage::CompileStatus ZapImage::TryCompileMethodWorker(CORINFO_METHOD_HANDLE h
// This is a quick workaround to opt specific methods out of ReadyToRun compilation to work around bugs.
if (IsReadyToRunCompilation())
{
- HRESULT hr = m_pMDImport->GetCustomAttributeByName(md, "System.Runtime.BypassReadyToRun", NULL, NULL);
- if (hr == S_OK)
+ if (GetCompileInfo()->HasCustomAttribute(handle, "System.Runtime.BypassReadyToRunAttribute"))
return NOT_COMPILED;
}
#endif