Skip to content

Commit dcd0784

Browse files
backesV8 LUCI CQ
authored andcommitted
Reland "[wasm] Remove all implications from --predictable"
This is a reland of 79d63a5. Some fixes landed already, and two tests need to be skipped now (one with a tracking bug). Original change's description: > [wasm] Remove all implications from --predictable > > In predictable mode, we want to execute the same code as otherwise, > modulo timing. Hence remove any implications which change behaviour > (like tier-up or asynchronous compilation). > Note that --predictable is a debugging flag, so the configurations does > not need to "make sense" in production. > > R=ahaas@chromium.org > > Bug: v8:11848 > Change-Id: If74fbacadeb087d977922c41f33fd18738b50ded > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2940898 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74973} Bug: v8:11848 Change-Id: I3564e4351d6545bb9643d1ae44722eb2606b8961 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2944936 Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75009}
1 parent 425f4ed commit dcd0784

5 files changed

Lines changed: 11 additions & 7 deletions

File tree

src/flags/flag-definitions.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2057,11 +2057,6 @@ DEFINE_IMPLICATION(predictable, single_threaded_gc)
20572057
DEFINE_NEG_IMPLICATION(predictable, concurrent_recompilation)
20582058
DEFINE_NEG_IMPLICATION(predictable, compiler_dispatcher)
20592059
DEFINE_NEG_IMPLICATION(predictable, stress_concurrent_inlining)
2060-
#if V8_ENABLE_WEBASSEMBLY
2061-
DEFINE_VALUE_IMPLICATION(predictable, wasm_num_compilation_tasks, 0)
2062-
DEFINE_NEG_IMPLICATION(predictable, wasm_async_compilation)
2063-
DEFINE_NEG_IMPLICATION(predictable, wasm_tier_up)
2064-
#endif // V8_ENABLE_WEBASSEMBLY
20652060

20662061
DEFINE_BOOL(predictable_gc_schedule, false,
20672062
"Predictable garbage collection schedule. Fixes heap growing, "

src/wasm/wasm-engine.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,8 @@ std::shared_ptr<NativeModule> NativeModuleCache::MaybeGetNativeModule(
208208
return shared_native_module;
209209
}
210210
}
211+
// TODO(11858): This deadlocks in predictable mode, because there is only a
212+
// single thread.
211213
cache_cv_.Wait(&mutex_);
212214
}
213215
}

test/mjsunit/mjsunit.status

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,6 +1092,10 @@
10921092
'regress/wasm/regress-7785': [SKIP],
10931093
'regress/wasm/regress-808848': [SKIP],
10941094
'regress/wasm/regress-808980': [SKIP],
1095+
1096+
# BUG(v8:11858): Deadlocks in predictable mode when waiting for the native
1097+
# module cache entry to be completed.
1098+
'regress/wasm/regress-709684': [SKIP],
10951099
}], # 'predictable == True'
10961100

10971101
##############################################################################

test/mjsunit/wasm/wasm-dynamic-tiering.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
// Flags: --allow-natives-syntax --wasm-dynamic-tiering --liftoff
66
// Flags: --no-wasm-tier-up --no-stress-opt
77

8+
// This test busy-waits for tier-up to be complete, hence it does not work in
9+
// predictable more where we only have a single thread.
10+
// Flags: --no-predictable
11+
812
d8.file.execute('test/mjsunit/wasm/wasm-module-builder.js');
913

1014
const num_iterations = 4;

tools/testrunner/local/variants.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,8 @@
8181
INCOMPATIBLE_FLAGS_PER_BUILD_VARIABLE = {
8282
"lite_mode": ["--no-lazy-feedback-allocation", "--max-semi-space-size=*"]
8383
+ INCOMPATIBLE_FLAGS_PER_VARIANT["jitless"],
84-
"predictable": ["--liftoff", "--parallel-compile-tasks",
84+
"predictable": ["--parallel-compile-tasks",
8585
"--concurrent-recompilation",
86-
"--wasm-num-compilation-tasks=*",
8786
"--stress-concurrent-allocation"],
8887
}
8988

0 commit comments

Comments
 (0)