summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
authorKoundinya Veluri <kouvel@users.noreply.github.com>2018-04-09 21:46:10 -0700
committerGitHub <noreply@github.com>2018-04-09 21:46:10 -0700
commit51d5948ab7a395ae701a3def54b5a22d6f92b604 (patch)
treeb61c0f535025b4bd755661daed9cdf6aa61c51a1 /src/vm
parentf976f748723a874988bd63d1f790152baccf21dc (diff)
downloadcoreclr-51d5948ab7a395ae701a3def54b5a22d6f92b604.tar.gz
coreclr-51d5948ab7a395ae701a3def54b5a22d6f92b604.tar.bz2
coreclr-51d5948ab7a395ae701a3def54b5a22d6f92b604.zip
Fix trigger for tier 1 call counting delay (#17477)
Fix trigger for tier 1 call counting delay The trigger was taking into account all non-tier-1 JIT invocations to delay call counting, even for those methods that are not eligible for tiering. In the AllReady benchmark, some dynamic methods were being jitted frequently enough to not allow tier 1 call counting to begin. Fixed to count only eligible methods jitted at tier 0, such that methods not eligible for tiering don't interfere with the tiering heuristics.
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/prestub.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vm/prestub.cpp b/src/vm/prestub.cpp
index 5e9fc116e0..5f37ff9f44 100644
--- a/src/vm/prestub.cpp
+++ b/src/vm/prestub.cpp
@@ -734,8 +734,10 @@ PCODE MethodDesc::JitCompileCodeLockedEventWrapper(PrepareCodeConfig* pConfig, J
}
#ifdef FEATURE_TIERED_COMPILATION
- if (g_pConfig->TieredCompilation() && !flags.IsSet(CORJIT_FLAGS::CORJIT_FLAG_TIER1))
+ if (g_pConfig->TieredCompilation() && flags.IsSet(CORJIT_FLAGS::CORJIT_FLAG_TIER0))
{
+ // The flag above is only set (in TieredCompilationManager::GetJitFlags()) when this method was eligible for tiered
+ // compilation at the time when it was checked, and a tier 0 JIT was requested for this method
GetAppDomain()->GetTieredCompilationManager()->OnTier0JitInvoked();
}
#endif // FEATURE_TIERED_COMPILATION