From 7918a6da98e35822534b5303779ca6cf172928e9 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Tue, 13 Feb 2024 16:06:23 +0100 Subject: [PATCH] Default to BucketsHashStore for the big hash storage strategy * CompactHashStore seems to be more prone to races: https://github.com/oracle/truffleruby/issues/3447 * Until a thread-safe Hash implementation is merged. --- src/main/java/org/truffleruby/options/LanguageOptions.java | 2 +- src/options.yml | 2 +- .../java/org/truffleruby/shared/options/OptionsCatalog.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/truffleruby/options/LanguageOptions.java b/src/main/java/org/truffleruby/options/LanguageOptions.java index e33f8cb642f..610fa8d4bd4 100644 --- a/src/main/java/org/truffleruby/options/LanguageOptions.java +++ b/src/main/java/org/truffleruby/options/LanguageOptions.java @@ -41,7 +41,7 @@ public final class LanguageOptions { public final boolean LAZY_TRANSLATION_USER; /** --backtraces-omit-unused=true */ public final boolean BACKTRACES_OMIT_UNUSED; - /** --buckets-big-hash=false */ + /** --buckets-big-hash=true */ public final boolean BIG_HASH_STRATEGY_IS_BUCKETS; /** --building-core-cexts=false */ public final boolean BUILDING_CORE_CEXTS; diff --git a/src/options.yml b/src/options.yml index 4bab882c59c..6f507654e52 100644 --- a/src/options.yml +++ b/src/options.yml @@ -118,7 +118,7 @@ EXPERT: BACKTRACES_OMIT_UNUSED: [backtraces-omit-unused, boolean, true, Omit backtraces that should be unused as they have pure rescue expressions] # Big Hash Strategy - BIG_HASH_STRATEGY_IS_BUCKETS: [buckets-big-hash, boolean, false, 'Whether to use chaining-style buckets hash store for hash tables exceeding the small hash limit'] + BIG_HASH_STRATEGY_IS_BUCKETS: [buckets-big-hash, boolean, true, 'Whether to use chaining-style buckets hash store for hash tables exceeding the small hash limit'] # Print backtraces at key events BACKTRACE_ON_INTERRUPT: [backtraces-on-interrupt, boolean, false, Show the backtraces of all Threads on Ctrl+C] diff --git a/src/shared/java/org/truffleruby/shared/options/OptionsCatalog.java b/src/shared/java/org/truffleruby/shared/options/OptionsCatalog.java index ae1a751b512..70ccbb5363d 100644 --- a/src/shared/java/org/truffleruby/shared/options/OptionsCatalog.java +++ b/src/shared/java/org/truffleruby/shared/options/OptionsCatalog.java @@ -62,7 +62,7 @@ public final class OptionsCatalog { public static final OptionKey EXCEPTIONS_WARN_OUT_OF_MEMORY_KEY = new OptionKey<>(true); public static final OptionKey BACKTRACES_INTERLEAVE_JAVA_KEY = new OptionKey<>(false); public static final OptionKey BACKTRACES_OMIT_UNUSED_KEY = new OptionKey<>(true); - public static final OptionKey BIG_HASH_STRATEGY_IS_BUCKETS_KEY = new OptionKey<>(false); + public static final OptionKey BIG_HASH_STRATEGY_IS_BUCKETS_KEY = new OptionKey<>(true); public static final OptionKey BACKTRACE_ON_INTERRUPT_KEY = new OptionKey<>(false); public static final OptionKey BACKTRACE_ON_SIGALRM_KEY = new OptionKey<>(!EMBEDDED_KEY.getDefaultValue()); public static final OptionKey BACKTRACE_ON_RAISE_KEY = new OptionKey<>(false);