|author||Noah Falk <firstname.lastname@example.org>||2018-03-28 13:56:24 -0700|
|committer||GitHub <email@example.com>||2018-03-28 13:56:24 -0700|
Removing 'EXPERIMENTAL' from tiered compilation env var (#17283)
Things have progressed far enough that its time to use a friendlier name. The feature still still has performance aspects that need to be investigated and improved, but I don't want to scare people off simply because it isn't as fast as it could be. This also updates to use a newer CoreFX version for JitBench since that appeared to be broken, and updated some comments and usage of the tieredcompilation variable.
Diffstat (limited to 'src/vm')
2 files changed, 9 insertions, 14 deletions
diff --git a/src/vm/eeconfig.cpp b/src/vm/eeconfig.cpp
index ab83463256..a227437356 100644
@@ -1240,7 +1240,10 @@ HRESULT EEConfig::sync()
dwSleepOnExit = CLRConfig::GetConfigValue(CLRConfig::UNSUPPORTED_SleepOnExit);
- fTieredCompilation = CLRConfig::GetConfigValue(CLRConfig::UNSUPPORTED_TieredCompilation) != 0;
+ fTieredCompilation = CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_TieredCompilation) != 0 ||
+ //this older name is deprecated, but still accepted for a time. Preserving it is a very small overhead not to needlessly break things.
+ CLRConfig::GetConfigValue(CLRConfig::UNSUPPORTED_LEGACY_TieredCompilation) != 0;
if (tieredCompilation_tier1CallCountThreshold < 1)
diff --git a/src/vm/tieredcompilation.cpp b/src/vm/tieredcompilation.cpp
index cd571a6b47..f139ddea5c 100644
@@ -22,19 +22,11 @@
// # Current feature state
-// This feature is incomplete and currently experimental. To enable it
-// you need to set COMPLUS_EXPERIMENTAL_TieredCompilation = 1. When the environment
-// variable is unset the runtime should work as normal, but when it is there are a few
-// known issues
-// ETW - Native to IL maps aren't correctly emitted (probably tier1 wrong, tier0 right)
-// Profiler - Still missing APIs that allow profilers to correctly get native to IL
-// maps for all code bodies.
-// Diagnostic tools have minimal testing that we are aware of and its possible they
-// made additional assumptions about runtime implementation that have been invalidated
-// by this feature. VS debugging does appear to work at a basic level at least.
-// I aim to keep this comment updated as things change.
+// This feature is a work in progress. It should be functionally correct for a
+// good range of scenarios, but performance varies by scenario. To enable it
+// you need to set COMPLUS_TieredCompilation = 1. This feature has been
+// tested with all of our runtime and CoreFX functional tests, as well as
+// diagnostics tests and various partner testing in Visual Studio.
// # Important entrypoints in this code: