Commit 0d6ebe60 authored by Clemens Backes's avatar Clemens Backes Committed by Commit Bot

[wasm] Separate Liftoff from tier-up flag

For finching Liftoff on mobile, we want to support Liftoff-only,
TurboFan-only, and Liftoff with tier-up to TurboFan. Hence, chrome needs
to be able to set the liftoff flag separately from the tier-up flag, and
there should not be an implication, since that implication would be
applied before all flags have been set to their final state.
See https://crrev.com/c/1988360 for the chromium-side change.

Note that this CL does not change any defaults.
After this change, Liftoff can be disabled by passing '--no-liftoff',
independent of the tier-up flag (this would be a TurboFan-only
configuration).
A Liftoff-only version would specify --liftoff and --no-wasm-tier-up.
The default on Desktop (--liftoff and --wasm-tier-up) compiles with
Liftoff first, and tiers up to TurboFan.

R=ahaas@chromium.org

Bug: chromium:1040061
Change-Id: I0291ec20f5a29f3a9e23c25c93907d1d8ffabd51
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988548Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65635}
parent bef13604
......@@ -676,19 +676,9 @@ DEFINE_UINT(wasm_max_table_size, v8::internal::wasm::kV8MaxWasmTableSize,
"maximum table size of a wasm instance")
DEFINE_UINT(wasm_max_code_space, v8::internal::kMaxWasmCodeMB,
"maximum committed code space for wasm (in MB)")
// Enable Liftoff by default on ia32 and x64. More architectures will follow
// once they are implemented and sufficiently tested.
#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64
DEFINE_BOOL(
wasm_tier_up, true,
"enable wasm baseline compilation and tier up to the optimizing compiler")
#else
DEFINE_BOOL(
wasm_tier_up, false,
"enable wasm baseline compilation and tier up to the optimizing compiler")
DEFINE_IMPLICATION(future, wasm_tier_up)
#endif
DEFINE_IMPLICATION(wasm_tier_up, liftoff)
DEFINE_BOOL(wasm_tier_up, true,
"enable tier up to the optimizing compiler (requires --liftoff to "
"have an effect)")
DEFINE_DEBUG_BOOL(trace_wasm_decoder, false, "trace decoding of wasm code")
DEFINE_DEBUG_BOOL(trace_wasm_compiler, false, "trace compiling of wasm code")
DEFINE_DEBUG_BOOL(trace_wasm_interpreter, false,
......@@ -698,8 +688,16 @@ DEFINE_DEBUG_BOOL(trace_wasm_streaming, false,
DEFINE_INT(trace_wasm_ast_start, 0,
"start function for wasm AST trace (inclusive)")
DEFINE_INT(trace_wasm_ast_end, 0, "end function for wasm AST trace (exclusive)")
// Enable Liftoff by default on ia32 and x64. More architectures will follow
// once they are implemented and sufficiently tested.
#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64
DEFINE_BOOL(liftoff, true,
"enable Liftoff, the baseline compiler for WebAssembly")
#else
DEFINE_BOOL(liftoff, false,
"enable Liftoff, the baseline compiler for WebAssembly")
DEFINE_IMPLICATION(future, liftoff)
#endif
DEFINE_BOOL(trace_liftoff, false,
"trace Liftoff, the baseline compiler for WebAssembly")
DEFINE_BOOL(trace_wasm_memory, false,
......
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