[test] Skip parallel compile tasks tests under off-thread

It is becoming difficult to continue supporting the compiler dispatcher
and background compile task unittests alongside the off-thread
finalization work, so disable those tests when that flag is enabled.

Bug: chromium:1011762
Change-Id: Iba9aaa29b08723afb90edc127609fef1d63ceed5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2539908
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71211}
This commit is contained in:
Leszek Swirski 2020-11-16 16:05:56 +01:00 committed by Commit Bot
parent 5660321a6d
commit 87c81250cc
4 changed files with 23 additions and 5 deletions

View File

@ -1223,6 +1223,9 @@ DEFINE_BOOL(stress_background_compile, false,
DEFINE_BOOL(
finalize_streaming_on_background, false,
"perform the script streaming finalization on the background thread")
// TODO(leszeks): Parallel compile tasks currently don't support off-thread
// finalization.
DEFINE_NEG_IMPLICATION(finalize_streaming_on_background, parallel_compile_tasks)
DEFINE_BOOL(disable_old_api_accessors, false,
"Disable old-style API accessors whose setters trigger through the "
"prototype chain")

View File

@ -36,8 +36,6 @@ class CompilerDispatcherTestFlags {
CHECK_NULL(save_flags_);
save_flags_ = new SaveFlags();
FLAG_single_threaded = true;
// TODO(leszeks): Support background finalization in compiler dispatcher.
FLAG_finalize_streaming_on_background = false;
FlagList::EnforceFlagImplications();
FLAG_compiler_dispatcher = true;
}
@ -105,6 +103,15 @@ class CompilerDispatcherTest : public TestWithNativeContext {
return dispatcher->Enqueue(outer_parse_info.get(), function_name,
function_literal);
}
protected:
void SetUp() override {
// TODO(leszeks): Support background finalization in compiler dispatcher.
if (FLAG_finalize_streaming_on_background) {
GTEST_SKIP_(
"Parallel compile tasks don't yet support background finalization");
}
}
};
namespace {

View File

@ -38,8 +38,6 @@ class BackgroundCompileTaskTest : public TestWithNativeContext {
static void SetUpTestCase() {
CHECK_NULL(save_flags_);
save_flags_ = new SaveFlags();
// TODO(leszeks): Support background finalization in compiler dispatcher.
FLAG_finalize_streaming_on_background = false;
TestWithNativeContext::SetUpTestCase();
}
@ -87,6 +85,15 @@ class BackgroundCompileTaskTest : public TestWithNativeContext {
isolate->counters()->compile_function_on_background(), FLAG_stack_size);
}
protected:
void SetUp() override {
// TODO(leszeks): Support background finalization in compiler dispatcher.
if (FLAG_finalize_streaming_on_background) {
GTEST_SKIP_(
"Parallel compile tasks don't yet support background finalization");
}
}
private:
AccountingAllocator* allocator_;
static SaveFlags* save_flags_;

View File

@ -59,7 +59,8 @@ INCOMPATIBLE_FLAGS_PER_VARIANT = {
"slow_path": ["--no-force-slow-path"],
"stress_concurrent_allocation": ["--single-threaded-gc", "--predictable"],
"stress_incremental_marking": ["--no-stress-incremental-marking"],
"stress_js_bg_compile_wasm_code_gc": ["--no-stress-background-compile"],
"future": ["--parallel-compile-tasks"],
"stress_js_bg_compile_wasm_code_gc": ["--no-stress-background-compile", "--parallel-compile-tasks"],
"stress": ["--no-stress-opt", "--always-opt", "--no-always-opt", "--liftoff", "--max-inlined-bytecode-size=*",
"--max-inlined-bytecode-size-cumulative=*", "--stress-inline"],
"turboprop": ["--interrupt-budget=*", "--no-turboprop"],