diff options
Diffstat (limited to 'deps/v8/src/flag-definitions.h')
-rw-r--r-- | deps/v8/src/flag-definitions.h | 92 |
1 files changed, 58 insertions, 34 deletions
diff --git a/deps/v8/src/flag-definitions.h b/deps/v8/src/flag-definitions.h index 4d5aa6f8854..69ec7472bba 100644 --- a/deps/v8/src/flag-definitions.h +++ b/deps/v8/src/flag-definitions.h @@ -216,9 +216,10 @@ DEFINE_IMPLICATION(harmony_class_fields, harmony_private_fields) V(harmony_await_optimization, "harmony await taking 1 tick") #ifdef V8_INTL_SUPPORT -#define HARMONY_INPROGRESS(V) \ - HARMONY_INPROGRESS_BASE(V) \ - V(harmony_locale, "Intl.Locale") \ +#define HARMONY_INPROGRESS(V) \ + HARMONY_INPROGRESS_BASE(V) \ + V(harmony_locale, "Intl.Locale") \ + V(harmony_intl_list_format, "Intl.ListFormat") \ V(harmony_intl_relative_time_format, "Intl.RelativeTimeFormat") #else #define HARMONY_INPROGRESS(V) HARMONY_INPROGRESS_BASE(V) @@ -230,18 +231,19 @@ DEFINE_IMPLICATION(harmony_class_fields, harmony_private_fields) V(harmony_private_fields, "harmony private fields in class literals") \ V(harmony_numeric_separator, "harmony numeric separator between digits") \ V(harmony_string_matchall, "harmony String.prototype.matchAll") \ - V(harmony_symbol_description, "harmony Symbol.prototype.description") + V(harmony_global, "harmony global") // Features that are shipping (turned on by default, but internal flag remains). -#define HARMONY_SHIPPING(V) \ - V(harmony_string_trimming, "harmony String.prototype.trim{Start,End}") \ - V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \ - V(harmony_function_tostring, "harmony Function.prototype.toString") \ - V(harmony_import_meta, "harmony import.meta property") \ - V(harmony_bigint, "harmony arbitrary precision integers") \ - V(harmony_dynamic_import, "harmony dynamic import") \ - V(harmony_array_prototype_values, "harmony Array.prototype.values") \ - V(harmony_array_flat, "harmony Array.prototype.{flat,flatMap}") +#define HARMONY_SHIPPING(V) \ + V(harmony_string_trimming, "harmony String.prototype.trim{Start,End}") \ + V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \ + V(harmony_function_tostring, "harmony Function.prototype.toString") \ + V(harmony_import_meta, "harmony import.meta property") \ + V(harmony_bigint, "harmony arbitrary precision integers") \ + V(harmony_dynamic_import, "harmony dynamic import") \ + V(harmony_array_prototype_values, "harmony Array.prototype.values") \ + V(harmony_array_flat, "harmony Array.prototype.{flat,flatMap}") \ + V(harmony_symbol_description, "harmony Symbol.prototype.description") // Once a shipping feature has proved stable in the wild, it will be dropped // from HARMONY_SHIPPING, all occurrences of the FLAG_ variable are removed, @@ -314,6 +316,11 @@ DEFINE_BOOL(optimize_for_size, false, "Enables optimizations which favor memory size over execution " "speed") +// Flag for one shot optimiztions. +DEFINE_BOOL(enable_one_shot_optimization, true, + "Enable size optimizations for the code that will " + "only be executed once") + DEFINE_VALUE_IMPLICATION(optimize_for_size, max_semi_space_size, 1) // Flags for data representation optimizations @@ -380,6 +387,11 @@ DEFINE_INT(concurrent_recompilation_delay, 0, "artificial compilation delay in ms") DEFINE_BOOL(block_concurrent_recompilation, false, "block queued jobs until released") +DEFINE_BOOL(concurrent_compiler_frontend, false, + "run optimizing compiler's frontend phases on a separate thread") +DEFINE_IMPLICATION(future, concurrent_compiler_frontend) +DEFINE_BOOL(strict_heap_broker, false, "fail on incomplete serialization") +DEFINE_BOOL(trace_heap_broker, false, "trace the heap broker") // Flags for stress-testing the compiler. DEFINE_INT(stress_runs, 0, "number of stress runs") @@ -429,6 +441,8 @@ DEFINE_BOOL(trace_verify_csa, false, "trace code stubs verification") DEFINE_STRING(csa_trap_on_node, nullptr, "trigger break point when a node with given id is created in " "given stub. The format is: StubName,NodeId") +DEFINE_BOOL_READONLY(fixed_array_bounds_checks, DEBUG_BOOL, + "enable FixedArray bounds checks") DEFINE_BOOL(turbo_stats, false, "print TurboFan statistics") DEFINE_BOOL(turbo_stats_nvp, false, "print TurboFan statistics in machine-readable format") @@ -533,7 +547,7 @@ DEFINE_BOOL(wasm_async_compilation, true, DEFINE_BOOL(wasm_test_streaming, false, "use streaming compilation instead of async compilation for tests") DEFINE_UINT(wasm_max_mem_pages, v8::internal::wasm::kV8MaxWasmMemoryPages, - "maximum memory size of a wasm instance") + "maximum number of 64KiB memory pages of a wasm instance") DEFINE_UINT(wasm_max_table_size, v8::internal::wasm::kV8MaxWasmTableSize, "maximum table size of a wasm instance") // Enable Liftoff by default on ia32 and x64. More architectures will follow @@ -586,22 +600,18 @@ DEFINE_DEBUG_BOOL(dump_wasm_module, false, "dump wasm module bytes") DEFINE_STRING(dump_wasm_module_path, nullptr, "directory to dump wasm modules to") -DEFINE_BOOL(experimental_wasm_simd, false, - "enable prototype simd opcodes for wasm") -DEFINE_BOOL(experimental_wasm_eh, false, - "enable prototype exception handling opcodes for wasm") -DEFINE_BOOL(experimental_wasm_mv, false, - "enable prototype multi-value support for wasm") -DEFINE_BOOL(experimental_wasm_threads, false, - "enable prototype threads for wasm") -DEFINE_BOOL(experimental_wasm_sat_f2i_conversions, false, - "enable non-trapping float-to-int conversions for wasm") -DEFINE_BOOL(experimental_wasm_se, true, - "enable prototype sign extension opcodes for wasm") -DEFINE_BOOL(experimental_wasm_anyref, false, - "enable prototype anyref support for wasm") -DEFINE_BOOL(experimental_wasm_mut_global, true, - "enable prototype import/export mutable global support for wasm") +// Declare command-line flags for WASM features. Warning: avoid using these +// flags directly in the implementation. Instead accept wasm::WasmFeatures +// for configurability. +#include "src/wasm/wasm-feature-flags.h" + +#define SPACE +#define DECL_WASM_FLAG(feat, desc, val) \ + DEFINE_BOOL(experimental_wasm_##feat, val, \ + "enable prototype " desc " for wasm") +FOREACH_WASM_FEATURE_FLAG(DECL_WASM_FLAG, SPACE) +#undef DECL_WASM_FLAG +#undef SPACE DEFINE_BOOL(wasm_opt, false, "enable wasm optimization") DEFINE_BOOL(wasm_no_bounds_checks, false, @@ -609,6 +619,12 @@ DEFINE_BOOL(wasm_no_bounds_checks, false, DEFINE_BOOL(wasm_no_stack_checks, false, "disable stack checks (performance testing only)") +DEFINE_BOOL(wasm_shared_engine, true, + "shares one wasm engine between all isolates within a process") +DEFINE_IMPLICATION(future, wasm_shared_engine) +DEFINE_BOOL(wasm_shared_code, true, + "shares code underlying a wasm module when it is transferred") +DEFINE_IMPLICATION(future, wasm_shared_code) DEFINE_BOOL(wasm_trap_handler, true, "use signal handlers to catch out of bounds memory access in wasm" " (currently Linux x86_64 only)") @@ -821,11 +837,11 @@ DEFINE_BOOL(enable_popcnt, true, DEFINE_STRING(arm_arch, ARM_ARCH_DEFAULT, "generate instructions for the selected ARM architecture if " "available: armv6, armv7, armv7+sudiv or armv8") -DEFINE_BOOL(enable_vldr_imm, false, - "enable use of constant pools for double immediate (ARM only)") DEFINE_BOOL(force_long_branches, false, "force all emitted branches to be in long mode (MIPS/PPC only)") DEFINE_STRING(mcpu, "auto", "enable optimization for specific cpu") +DEFINE_BOOL(partial_constant_pool, true, + "enable use of partial constant pools (X64 only)") // Deprecated ARM flags (replaced by arm_arch). DEFINE_MAYBE_BOOL(enable_armv7, "deprecated (use --arm_arch instead)") @@ -963,7 +979,6 @@ DEFINE_INT(heap_snapshot_string_limit, 1024, DEFINE_BOOL(sampling_heap_profiler_suppress_randomness, false, "Use constant sample intervals to eliminate test flakiness") - // v8.cc DEFINE_BOOL(use_idle_notification, true, "Use idle notification to reduce memory footprint.") @@ -1069,6 +1084,13 @@ DEFINE_VALUE_IMPLICATION(runtime_call_stats, runtime_stats, 1) #endif DEFINE_BOOL_READONLY(embedded_builtins, V8_EMBEDDED_BUILTINS_BOOL, "Embed builtin code into the binary.") +// TODO(jgruber,v8:6666): Remove once ia32 has full embedded builtin support. +DEFINE_BOOL_READONLY( + ia32_verify_root_register, false, + "Check that the value of the root register was not clobbered.") +// TODO(jgruber,v8:6666): Remove once ia32 has full embedded builtin support. +DEFINE_BOOL(print_embedded_builtin_candidates, false, + "Prints builtins that are not yet embedded but could be.") DEFINE_BOOL(lazy_deserialization, true, "Deserialize code lazily from the snapshot.") DEFINE_BOOL(lazy_handler_deserialization, true, @@ -1130,6 +1152,8 @@ DEFINE_BOOL(use_external_strings, false, "Use external strings for source code") DEFINE_STRING(map_counters, "", "Map counters to a file") DEFINE_ARGS(js_arguments, "Pass all remaining arguments to the script. Alias for \"--\".") +DEFINE_BOOL(mock_arraybuffer_allocator, false, + "Use a mock ArrayBuffer allocator for testing.") // // GDB JIT integration flags. @@ -1243,7 +1267,7 @@ DEFINE_BOOL(log_function_events, false, DEFINE_BOOL(prof, false, "Log statistical profiling information (implies --log-code).") -DEFINE_BOOL(detailed_line_info, true, +DEFINE_BOOL(detailed_line_info, false, "Always generate detailed line information for CPU profiling.") #if defined(ANDROID) |