diff options
author | Koundinya Veluri <kouvel@users.noreply.github.com> | 2018-07-16 22:04:07 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-16 22:04:07 -0700 |
commit | 6b403ca4422f2bf3df9d25a32790cc4c0d4b6ee4 (patch) | |
tree | 74e1aecfcbd2054d410555217deae83b0d901a7e /src/vm/prestub.cpp | |
parent | 2a4db3b265eccb9d56e3706d260237b3687da9ca (diff) | |
download | coreclr-6b403ca4422f2bf3df9d25a32790cc4c0d4b6ee4.tar.gz coreclr-6b403ca4422f2bf3df9d25a32790cc4c0d4b6ee4.tar.bz2 coreclr-6b403ca4422f2bf3df9d25a32790cc4c0d4b6ee4.zip |
Apply tiering's call counting delay more broadly (#18610)
Apply tiering's call counting delay more broadly
Issues
- When some time passes between process startup and first significant use of the app, startup perf with tiering can be slower because the call counting delay is no longer in effect
- This is especially true when the process is affinitized to one cpu
Fixes
- Initiate and prolong the call counting delay upon tier 0 activity (jitting or r2r code lookup for a new method)
- Stop call counting for a called method when the delay is in effect
- Stop (and don't start) tier 1 jitting when the delay is in effect
- After the delay resume call counting and tier 1 jitting
- If the process is affinitized to one cpu at process startup, multiply the delay by 10
No change in benchmarks.
Diffstat (limited to 'src/vm/prestub.cpp')
-rw-r--r-- | src/vm/prestub.cpp | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/src/vm/prestub.cpp b/src/vm/prestub.cpp index ae2b9ac397..60c3afb12e 100644 --- a/src/vm/prestub.cpp +++ b/src/vm/prestub.cpp @@ -743,15 +743,6 @@ PCODE MethodDesc::JitCompileCodeLockedEventWrapper(PrepareCodeConfig* pConfig, J } -#ifdef FEATURE_TIERED_COMPILATION - 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 - #ifdef FEATURE_STACK_SAMPLING StackSampler::RecordJittingInfo(this, flags); #endif // FEATURE_STACK_SAMPLING |