summaryrefslogtreecommitdiff
path: root/src/jit/varset.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/varset.h')
-rw-r--r--src/jit/varset.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/jit/varset.h b/src/jit/varset.h
index be581c9596..1aa30fcc2e 100644
--- a/src/jit/varset.h
+++ b/src/jit/varset.h
@@ -70,8 +70,18 @@ typedef BitSetOps</*BitSetType*/BitSetShortLongRep,
typedef BitSetShortLongRep VARSET_TP;
-// For the unbounded-width varset implementation, test it a little by allowing the max tracked vars to be than UINT64 can hold.
+// Tested various sizes for max tracked locals. The largest value for which no throughput regression
+// could be measured was 512. Going to 1024 showed the first throughput regressions.
+// We anticipate the larger size will be needed to support better inlining.
+// There were a number of failures when 512 was used for legacy, so we just retain the 128 value
+// for legacy backend.
+
+#if !defined(LEGACY_BACKEND)
+const unsigned lclMAX_TRACKED = 512;
+#else
const unsigned lclMAX_TRACKED = 128;
+#endif
+
#define VARSET_REP_IS_CLASS 0
@@ -138,8 +148,7 @@ typedef BitSetOps</*BitSetType*/BitSetShortLongRep,
typedef BitSetShortLongRep ALLVARSET_TP;
-// For the unbounded-width varset implementation, test them a little by allowing the max tracked vars to be than UINT64 can hold.
-const unsigned lclMAX_ALLSET_TRACKED = 128;
+const unsigned lclMAX_ALLSET_TRACKED = lclMAX_TRACKED;
#define ALLVARSET_REP_IS_CLASS 0