diff options
author | Koundinya Veluri <kouvel@users.noreply.github.com> | 2018-04-09 21:46:10 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-09 21:46:10 -0700 |
commit | 51d5948ab7a395ae701a3def54b5a22d6f92b604 (patch) | |
tree | b61c0f535025b4bd755661daed9cdf6aa61c51a1 /src/vm | |
parent | f976f748723a874988bd63d1f790152baccf21dc (diff) | |
download | coreclr-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.cpp | 4 |
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 |