diff options
Diffstat (limited to 'deps/v8/src/flag-definitions.h')
-rw-r--r-- | deps/v8/src/flag-definitions.h | 87 |
1 files changed, 59 insertions, 28 deletions
diff --git a/deps/v8/src/flag-definitions.h b/deps/v8/src/flag-definitions.h index e8226006df..052869f308 100644 --- a/deps/v8/src/flag-definitions.h +++ b/deps/v8/src/flag-definitions.h @@ -162,6 +162,7 @@ struct MaybeBoolFlag { FLAG(MAYBE_BOOL, MaybeBoolFlag, nam, {false COMMA false}, cmt) #define DEFINE_INT(nam, def, cmt) FLAG(INT, int, nam, def, cmt) #define DEFINE_UINT(nam, def, cmt) FLAG(UINT, unsigned int, nam, def, cmt) +#define DEFINE_UINT64(nam, def, cmt) FLAG(UINT64, uint64_t, nam, def, cmt) #define DEFINE_FLOAT(nam, def, cmt) FLAG(FLOAT, double, nam, def, cmt) #define DEFINE_SIZE_T(nam, def, cmt) FLAG(SIZE_T, size_t, nam, def, cmt) #define DEFINE_STRING(nam, def, cmt) FLAG(STRING, const char*, nam, def, cmt) @@ -212,12 +213,13 @@ DEFINE_IMPLICATION(harmony_class_fields, harmony_private_fields) V(harmony_do_expressions, "harmony do-expressions") \ V(harmony_class_fields, "harmony fields in class literals") \ V(harmony_static_fields, "harmony static fields in class literals") \ - V(harmony_array_flatten, "harmony Array.prototype.flat{ten,Map}") + 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_relative_time_format, "Intl.RelativeTimeFormat") #else #define HARMONY_INPROGRESS(V) HARMONY_INPROGRESS_BASE(V) #endif @@ -227,21 +229,19 @@ DEFINE_IMPLICATION(harmony_class_fields, harmony_private_fields) V(harmony_public_fields, "harmony public fields in class literals") \ 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_string_matchall, "harmony String.prototype.matchAll") \ + V(harmony_symbol_description, "harmony Symbol.prototype.description") // 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_regexp_named_captures, "harmony regexp named captures") \ - V(harmony_regexp_property, "harmony Unicode regexp property classes") \ V(harmony_function_tostring, "harmony Function.prototype.toString") \ - V(harmony_promise_finally, "harmony Promise.prototype.finally") \ - V(harmony_optional_catch_binding, "allow omitting binding in catch blocks") \ 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_prototype_values, "harmony Array.prototype.values") \ + V(harmony_array_flat, "harmony Array.prototype.{flat,flatMap}") // 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, @@ -338,7 +338,7 @@ DEFINE_BOOL(ignition_elide_noneffectful_bytecodes, true, DEFINE_BOOL(ignition_reo, true, "use ignition register equivalence optimizer") DEFINE_BOOL(ignition_filter_expression_positions, true, "filter expression positions before the bytecode pipeline") -DEFINE_BOOL(ignition_share_named_property_feedback, false, +DEFINE_BOOL(ignition_share_named_property_feedback, true, "share feedback slots when loading the same named property from " "the same object") DEFINE_BOOL(print_bytecode, false, @@ -432,6 +432,8 @@ DEFINE_STRING(csa_trap_on_node, nullptr, DEFINE_BOOL(turbo_stats, false, "print TurboFan statistics") DEFINE_BOOL(turbo_stats_nvp, false, "print TurboFan statistics in machine-readable format") +DEFINE_BOOL(turbo_stats_wasm, false, + "print TurboFan statistics of wasm compilations") DEFINE_BOOL(turbo_splitting, true, "split nodes during scheduling in TurboFan") DEFINE_BOOL(function_context_specialization, false, "enable function context specialization in TurboFan") @@ -530,15 +532,22 @@ DEFINE_BOOL(wasm_async_compilation, true, "enable actual asynchronous compilation for WebAssembly.compile") DEFINE_BOOL(wasm_test_streaming, false, "use streaming compilation instead of async compilation for tests") -// Parallel compilation confuses turbo_stats, force single threaded. -DEFINE_VALUE_IMPLICATION(turbo_stats, wasm_num_compilation_tasks, 0) DEFINE_UINT(wasm_max_mem_pages, v8::internal::wasm::kV8MaxWasmMemoryPages, "maximum memory size of a wasm instance") DEFINE_UINT(wasm_max_table_size, v8::internal::wasm::kV8MaxWasmTableSize, "maximum table size of a wasm instance") -DEFINE_BOOL(wasm_tier_up, false, - "enable basic tiering up to the optimizing compiler") +// 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_DEBUG_BOOL(trace_wasm_decoder, false, "trace decoding of wasm code") DEFINE_DEBUG_BOOL(trace_wasm_decode_time, false, @@ -552,14 +561,17 @@ 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)") DEFINE_BOOL(liftoff, false, - "enable liftoff, the experimental wasm baseline compiler") + "enable Liftoff, the baseline compiler for WebAssembly") DEFINE_DEBUG_BOOL(trace_liftoff, false, - "trace liftoff, the wasm baseline compiler") -DEFINE_UINT(skip_compiling_wasm_funcs, 0, "start compiling at function N") + "trace Liftoff, the baseline compiler for WebAssembly") DEFINE_DEBUG_BOOL(wasm_break_on_decoder_error, false, "debug break when wasm decoder encounters an error") DEFINE_BOOL(wasm_trace_memory, false, "print all memory updates performed in wasm code") +// Fuzzers use {wasm_tier_mask_for_testing} together with {liftoff} and +// {no_wasm_tier_up} to force some functions to be compiled with Turbofan. +DEFINE_INT(wasm_tier_mask_for_testing, 0, + "bitmask of functions to compile with TurboFan instead of Liftoff") DEFINE_BOOL(validate_asm, true, "validate asm.js modules before compiling") DEFINE_BOOL(suppress_asm_messages, false, @@ -584,11 +596,11 @@ 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, false, +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, false, +DEFINE_BOOL(experimental_wasm_mut_global, true, "enable prototype import/export mutable global support for wasm") DEFINE_BOOL(wasm_opt, false, "enable wasm optimization") @@ -600,6 +612,8 @@ DEFINE_BOOL(wasm_no_stack_checks, false, DEFINE_BOOL(wasm_trap_handler, true, "use signal handlers to catch out of bounds memory access in wasm" " (currently Linux x86_64 only)") +DEFINE_BOOL(wasm_trap_handler_fallback, false, + "Use bounds checks if guarded memory is not available") DEFINE_BOOL(wasm_fuzzer_gen_test, false, "Generate a test case when running a wasm fuzzer") DEFINE_IMPLICATION(wasm_fuzzer_gen_test, single_threaded) @@ -691,6 +705,9 @@ DEFINE_BOOL(concurrent_marking, V8_CONCURRENT_MARKING_BOOL, "use concurrent marking") DEFINE_BOOL(parallel_marking, true, "use parallel marking in atomic pause") DEFINE_IMPLICATION(parallel_marking, concurrent_marking) +DEFINE_INT(ephemeron_fixpoint_iterations, 10, + "number of fixpoint iterations it takes to switch to linear " + "ephemeron algorithm") DEFINE_BOOL(trace_concurrent_marking, false, "trace concurrent marking") DEFINE_BOOL(black_allocation, true, "use black allocation") DEFINE_BOOL(concurrent_store_buffer, true, @@ -776,6 +793,12 @@ DEFINE_BOOL(manual_evacuation_candidates_selection, false, DEFINE_BOOL(fast_promotion_new_space, false, "fast promote new space on high survival rates") +DEFINE_BOOL(clear_free_memory, false, "initialize free memory with 0") + +DEFINE_BOOL(young_generation_large_objects, false, + "allocates large objects by default in the young generation large " + "object space") + // assembler-ia32.cc / assembler-arm.cc / assembler-x64.cc DEFINE_BOOL(debug_code, DEBUG_BOOL, "generate extra code (assertions) for debugging") @@ -839,6 +862,7 @@ DEFINE_BOOL(enable_experimental_builtins, false, "enable new csa-based experimental builtins") DEFINE_BOOL(disallow_code_generation_from_strings, false, "disallow eval and friends") +DEFINE_BOOL(expose_async_hooks, false, "expose async_hooks object") // builtins.cc DEFINE_BOOL(allow_unsafe_function_constructor, false, @@ -902,7 +926,6 @@ DEFINE_IMPLICATION(trace_array_abuse, trace_js_array_abuse) DEFINE_IMPLICATION(trace_array_abuse, trace_external_array_abuse) // debugger -DEFINE_BOOL(enable_liveedit, true, "enable liveedit experimental feature") DEFINE_BOOL( trace_side_effect_free_debug_evaluate, false, "print debug messages for side-effect-free debug-evaluate for testing") @@ -1019,9 +1042,9 @@ DEFINE_BOOL(randomize_hashes, true, "(with snapshots this option cannot override the baked-in seed)") DEFINE_BOOL(rehash_snapshot, true, "rehash strings from the snapshot to override the baked-in seed") -DEFINE_INT(hash_seed, 0, - "Fixed seed to use to hash property keys (0 means random)" - "(with snapshots this option cannot override the baked-in seed)") +DEFINE_UINT64(hash_seed, 0, + "Fixed seed to use to hash property keys (0 means random)" + "(with snapshots this option cannot override the baked-in seed)") DEFINE_INT(random_seed, 0, "Default seed for initializing random generator " "(0, the default, means to use system random).") @@ -1039,6 +1062,13 @@ DEFINE_INT(runtime_stats, 0, DEFINE_VALUE_IMPLICATION(runtime_call_stats, runtime_stats, 1) // snapshot-common.cc +#ifdef V8_EMBEDDED_BUILTINS +#define V8_EMBEDDED_BUILTINS_BOOL true +#else +#define V8_EMBEDDED_BUILTINS_BOOL false +#endif +DEFINE_BOOL_READONLY(embedded_builtins, V8_EMBEDDED_BUILTINS_BOOL, + "Embed builtin code into the binary.") DEFINE_BOOL(lazy_deserialization, true, "Deserialize code lazily from the snapshot.") DEFINE_BOOL(lazy_handler_deserialization, true, @@ -1050,6 +1080,8 @@ DEFINE_BOOL(profile_deserialization, false, "Print the time it takes to deserialize the snapshot.") DEFINE_BOOL(serialization_statistics, false, "Collect statistics on serialized objects.") +DEFINE_UINT(serialization_chunk_size, 4096, + "Custom size for serialization chunks") // Regexp DEFINE_BOOL(regexp_optimization, true, "generate optimized regexp code") @@ -1133,7 +1165,7 @@ DEFINE_NEG_IMPLICATION(gdbjit, compact_code_space) // checks.cc #ifdef ENABLE_SLOW_DCHECKS -DEFINE_BOOL(enable_slow_asserts, false, +DEFINE_BOOL(enable_slow_asserts, true, "enable asserts that are slow to execute") #endif @@ -1211,9 +1243,6 @@ DEFINE_BOOL(log_function_events, false, DEFINE_BOOL(prof, false, "Log statistical profiling information (implies --log-code).") -DEFINE_BOOL(detailed_line_info, true, - "Always generate detailed line information for CPU profiling.") - #if defined(ANDROID) // Phones and tablets have processors that are much slower than desktop // and laptop computers for which current heuristics are tuned. @@ -1303,6 +1332,8 @@ DEFINE_BOOL(print_opt_code, false, "print optimized code") DEFINE_STRING(print_opt_code_filter, "*", "filter for printing optimized code") DEFINE_BOOL(print_code_verbose, false, "print more information for code") DEFINE_BOOL(print_builtin_code, false, "print generated code for builtins") +DEFINE_STRING(print_builtin_code_filter, "*", + "filter for printing builtin code") DEFINE_BOOL(print_builtin_size, false, "print code size for builtins") #ifdef ENABLE_DISASSEMBLER |