summaryrefslogtreecommitdiff
path: root/src/zap
diff options
context:
space:
mode:
Diffstat (limited to 'src/zap')
-rw-r--r--src/zap/zapinfo.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/zap/zapinfo.cpp b/src/zap/zapinfo.cpp
index 7320729dec..341e0d82af 100644
--- a/src/zap/zapinfo.cpp
+++ b/src/zap/zapinfo.cpp
@@ -435,6 +435,15 @@ void ZapInfo::CompileMethod()
// this they can add the hint and reduce the perf cost at runtime.
m_pImage->m_pPreloader->PrePrepareMethodIfNecessary(m_currentMethodHandle);
+ DWORD methodAttribs = getMethodAttribs(m_currentMethodHandle);
+ if (methodAttribs & CORINFO_FLG_AGGRESSIVE_OPT)
+ {
+ // Skip methods marked with MethodImplOptions.AggressiveOptimization, they will be jitted instead. In the future,
+ // consider letting the JIT determine whether aggressively optimized code can/should be pregenerated for the method
+ // instead of this check.
+ return;
+ }
+
m_jitFlags = ComputeJitFlags(m_currentMethodHandle);
#ifdef FEATURE_READYTORUN_COMPILER
@@ -443,7 +452,6 @@ void ZapInfo::CompileMethod()
// READYTORUN: FUTURE: Producedure spliting
m_jitFlags.Clear(CORJIT_FLAGS::CORJIT_FLAG_PROCSPLIT);
- DWORD methodAttribs = getMethodAttribs(m_currentMethodHandle);
if (!(methodAttribs & CORINFO_FLG_NOSECURITYWRAP) || (methodAttribs & CORINFO_FLG_SECURITYCHECK))
{
m_zapper->Warning(W("ReadyToRun: Methods with security checks not supported\n"));