summaryrefslogtreecommitdiff
path: root/src/jit/jitconfigvalues.h
diff options
context:
space:
mode:
authorBrian Sullivan <briansul@microsoft.com>2018-01-05 11:43:42 -0800
committerBrian Sullivan <briansul@microsoft.com>2018-01-05 15:26:43 -0800
commit3fc07ad6ffcb49646d629ba63b6f156a7071c2eb (patch)
tree072714a2eca07326191fd9ce1ba6e23c8f81e621 /src/jit/jitconfigvalues.h
parent41d23b05acac98c68d3b348c60bf151cfedd778f (diff)
downloadcoreclr-3fc07ad6ffcb49646d629ba63b6f156a7071c2eb.tar.gz
coreclr-3fc07ad6ffcb49646d629ba63b6f156a7071c2eb.tar.bz2
coreclr-3fc07ad6ffcb49646d629ba63b6f156a7071c2eb.zip
Fix issue where the unsigned value used for the the map select budget could underflow
resulting in an unlimited budget Changed m_mapSelectBudget and budget to be a signed integer Added an assert that ensures that the remaining budget is between [0..m_mapSelectBudget] Change the test for running out of budge to be a <= zero test instead of an equal zero test. Fixed the bug in the handling of phiArgs in VNForMapSelectWork by adding a check if we exceeded our budget when processing the first phiArg. Added a define for DEFAULT_MAP_SELECT_BUDGET
Diffstat (limited to 'src/jit/jitconfigvalues.h')
-rw-r--r--src/jit/jitconfigvalues.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/jit/jitconfigvalues.h b/src/jit/jitconfigvalues.h
index 64dfe9ce60..d22a9e1858 100644
--- a/src/jit/jitconfigvalues.h
+++ b/src/jit/jitconfigvalues.h
@@ -282,11 +282,13 @@ CONFIG_METHODSET(JitOptRepeat, W("JitOptRepeat")) // Runs optimizer m
CONFIG_INTEGER(JitOptRepeatCount, W("JitOptRepeatCount"), 2) // Number of times to repeat opts when repeating
#endif // defined(OPT_CONFIG)
-CONFIG_INTEGER(JitRegisterFP, W("JitRegisterFP"), 3) // Control FP enregistration
-CONFIG_INTEGER(JitTelemetry, W("JitTelemetry"), 1) // If non-zero, gather JIT telemetry data
-CONFIG_INTEGER(JitVNMapSelBudget, W("JitVNMapSelBudget"), 100) // Max # of MapSelect's considered for a particular
- // top-level invocation.
-CONFIG_INTEGER(TailCallLoopOpt, W("TailCallLoopOpt"), 1) // Convert recursive tail calls to loops
+CONFIG_INTEGER(JitRegisterFP, W("JitRegisterFP"), 3) // Control FP enregistration
+CONFIG_INTEGER(JitTelemetry, W("JitTelemetry"), 1) // If non-zero, gather JIT telemetry data
+
+// Max # of MapSelect's considered for a particular top-level invocation.
+CONFIG_INTEGER(JitVNMapSelBudget, W("JitVNMapSelBudget"), DEFAULT_MAP_SELECT_BUDGET)
+
+CONFIG_INTEGER(TailCallLoopOpt, W("TailCallLoopOpt"), 1) // Convert recursive tail calls to loops
CONFIG_METHODSET(AltJit, W("AltJit")) // Enables AltJit and selectively limits it to the specified methods.
CONFIG_METHODSET(AltJitNgen,
W("AltJitNgen")) // Enables AltJit for NGEN and selectively limits it to the specified methods.