Commit dcd07842 authored by Clemens Backes's avatar Clemens Backes Committed by V8 LUCI CQ

Reland "[wasm] Remove all implications from --predictable"

This is a reland of 79d63a5e. 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/+/2944936Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75009}
parent 425f4ed8
......@@ -2057,11 +2057,6 @@ DEFINE_IMPLICATION(predictable, single_threaded_gc)
DEFINE_NEG_IMPLICATION(predictable, concurrent_recompilation)
DEFINE_NEG_IMPLICATION(predictable, compiler_dispatcher)
DEFINE_NEG_IMPLICATION(predictable, stress_concurrent_inlining)
#if V8_ENABLE_WEBASSEMBLY
DEFINE_VALUE_IMPLICATION(predictable, wasm_num_compilation_tasks, 0)
DEFINE_NEG_IMPLICATION(predictable, wasm_async_compilation)
DEFINE_NEG_IMPLICATION(predictable, wasm_tier_up)
#endif // V8_ENABLE_WEBASSEMBLY
DEFINE_BOOL(predictable_gc_schedule, false,
"Predictable garbage collection schedule. Fixes heap growing, "
......
......@@ -208,6 +208,8 @@ std::shared_ptr<NativeModule> NativeModuleCache::MaybeGetNativeModule(
return shared_native_module;
}
}
// TODO(11858): This deadlocks in predictable mode, because there is only a
// single thread.
cache_cv_.Wait(&mutex_);
}
}
......
......@@ -1092,6 +1092,10 @@
'regress/wasm/regress-7785': [SKIP],
'regress/wasm/regress-808848': [SKIP],
'regress/wasm/regress-808980': [SKIP],
# BUG(v8:11858): Deadlocks in predictable mode when waiting for the native
# module cache entry to be completed.
'regress/wasm/regress-709684': [SKIP],
}], # 'predictable == True'
##############################################################################
......
......@@ -5,6 +5,10 @@
// Flags: --allow-natives-syntax --wasm-dynamic-tiering --liftoff
// Flags: --no-wasm-tier-up --no-stress-opt
// This test busy-waits for tier-up to be complete, hence it does not work in
// predictable more where we only have a single thread.
// Flags: --no-predictable
d8.file.execute('test/mjsunit/wasm/wasm-module-builder.js');
const num_iterations = 4;
......
......@@ -81,9 +81,8 @@ INCOMPATIBLE_FLAGS_PER_VARIANT = {
INCOMPATIBLE_FLAGS_PER_BUILD_VARIABLE = {
"lite_mode": ["--no-lazy-feedback-allocation", "--max-semi-space-size=*"]
+ INCOMPATIBLE_FLAGS_PER_VARIANT["jitless"],
"predictable": ["--liftoff", "--parallel-compile-tasks",
"predictable": ["--parallel-compile-tasks",
"--concurrent-recompilation",
"--wasm-num-compilation-tasks=*",
"--stress-concurrent-allocation"],
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment