summaryrefslogtreecommitdiffstats
path: root/src/flag-definitions.h
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2016-05-18 11:27:45 +0100
committerBen Murdoch <benm@google.com>2016-05-18 12:24:53 +0100
commit109988c7ccb6f3fd1a58574fa3dfb88beaef6632 (patch)
treeffd2ec36f46d14a64045fafe1f31fe5f945e6290 /src/flag-definitions.h
parentb7f71747993d419740fd1af340137cee410dca15 (diff)
downloadandroid_external_v8-109988c7ccb6f3fd1a58574fa3dfb88beaef6632.tar.gz
android_external_v8-109988c7ccb6f3fd1a58574fa3dfb88beaef6632.tar.bz2
android_external_v8-109988c7ccb6f3fd1a58574fa3dfb88beaef6632.zip
Revert "Revert "Upgrade to 5.0.71.48""
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e, and updates the x64 makefile properly so it doesn't break that build. Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
Diffstat (limited to 'src/flag-definitions.h')
-rw-r--r--src/flag-definitions.h93
1 files changed, 60 insertions, 33 deletions
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index 9966a703..ac430ab5 100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -144,6 +144,11 @@ struct MaybeBoolFlag {
#else
# define ENABLE_NEON_DEFAULT false
#endif
+#ifdef V8_OS_WIN
+# define ENABLE_LOG_COLOUR false
+#else
+# define ENABLE_LOG_COLOUR true
+#endif
#define DEFINE_BOOL(nam, def, cmt) FLAG(BOOL, bool, nam, def, cmt)
#define DEFINE_BOOL_READONLY(nam, def, cmt) \
@@ -196,39 +201,44 @@ DEFINE_NEG_IMPLICATION(harmony, promise_extra)
// Activate on ClusterFuzz.
DEFINE_IMPLICATION(es_staging, harmony_regexp_lookbehind)
DEFINE_IMPLICATION(es_staging, move_object_start)
+DEFINE_IMPLICATION(es_staging, harmony_tailcalls)
// Features that are still work in progress (behind individual flags).
-#define HARMONY_INPROGRESS(V) \
- V(harmony_modules, "harmony modules") \
- V(harmony_unicode_regexps, "harmony unicode regexps") \
- V(harmony_function_name, "harmony Function name inference") \
- V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \
- V(harmony_simd, "harmony simd") \
- V(harmony_do_expressions, "harmony do-expressions") \
- V(harmony_regexp_subclass, "harmony regexp subclassing") \
- V(harmony_species, "harmony Symbol.species")
+#define HARMONY_INPROGRESS(V) \
+ V(harmony_object_observe, "harmony Object.observe") \
+ V(harmony_modules, "harmony modules") \
+ V(harmony_function_sent, "harmony function.sent") \
+ V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \
+ V(harmony_simd, "harmony simd") \
+ V(harmony_do_expressions, "harmony do-expressions") \
+ V(harmony_iterator_close, "harmony iterator finalization") \
+ V(harmony_tailcalls, "harmony tail calls") \
+ V(harmony_object_values_entries, "harmony Object.values / Object.entries") \
+ V(harmony_object_own_property_descriptors, \
+ "harmony Object.getOwnPropertyDescriptors()") \
+ V(harmony_regexp_property, "harmony unicode regexp property classes")
// Features that are complete (but still behind --harmony/es-staging flag).
-#define HARMONY_STAGED(V) \
- V(harmony_regexp_lookbehind, "harmony regexp lookbehind")
+#define HARMONY_STAGED(V) \
+ V(harmony_function_name, "harmony Function name inference") \
+ V(harmony_regexp_lookbehind, "harmony regexp lookbehind") \
+ V(harmony_species, "harmony Symbol.species") \
+ V(harmony_instanceof, "harmony instanceof support")
// Features that are shipping (turned on by default, but internal flag remains).
#define HARMONY_SHIPPING(V) \
V(harmony_default_parameters, "harmony default parameters") \
V(harmony_destructuring_assignment, "harmony destructuring assignment") \
V(harmony_destructuring_bind, "harmony destructuring bind") \
- V(harmony_concat_spreadable, "harmony isConcatSpreadable") \
- V(harmony_object_observe, "harmony Object.observe") \
- V(harmony_tolength, "harmony ToLength") \
V(harmony_tostring, "harmony toString") \
- V(harmony_completion, "harmony completion value semantics") \
V(harmony_regexps, "harmony regular expression extensions") \
+ V(harmony_unicode_regexps, "harmony unicode regexps") \
V(harmony_sloppy, "harmony features in sloppy mode") \
V(harmony_sloppy_let, "harmony let in sloppy mode") \
V(harmony_sloppy_function, "harmony sloppy function block scoping") \
V(harmony_proxies, "harmony proxies") \
- V(harmony_reflect, "harmony Reflect API")
-
+ V(harmony_reflect, "harmony Reflect API") \
+ V(harmony_regexp_subclass, "harmony regexp subclassing")
// 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,
@@ -297,13 +307,10 @@ DEFINE_BOOL(string_slices, true, "use string slices")
// Flags for Ignition.
DEFINE_BOOL(ignition, false, "use ignition interpreter")
DEFINE_STRING(ignition_filter, "*", "filter for ignition interpreter")
-DEFINE_BOOL(ignition_fake_try_catch, false,
- "enable fake try-catch-finally blocks in ignition for testing")
-DEFINE_BOOL(ignition_fallback_on_eval_and_catch, false,
- "fallback to full-codegen for functions which contain eval, catch"
- "and es6 blocks")
DEFINE_BOOL(print_bytecode, false,
"print bytecode generated by ignition interpreter")
+DEFINE_BOOL(trace_ignition, false,
+ "trace the bytecodes executed by the ignition interpreter")
DEFINE_BOOL(trace_ignition_codegen, false,
"trace the codegen of ignition interpreter bytecode handlers")
@@ -328,7 +335,7 @@ DEFINE_INT(max_inlined_nodes_cumulative, 400,
"maximum cumulative number of AST nodes considered for inlining")
DEFINE_BOOL(loop_invariant_code_motion, true, "loop invariant code motion")
DEFINE_BOOL(fast_math, true, "faster (but maybe less accurate) math functions")
-DEFINE_BOOL(collect_megamorphic_maps_from_stub_cache, true,
+DEFINE_BOOL(collect_megamorphic_maps_from_stub_cache, false,
"crankshaft harvests type feedback from stub cache")
DEFINE_BOOL(hydrogen_stats, false, "print statistics for hydrogen")
DEFINE_BOOL(trace_check_elimination, false, "trace check elimination phase")
@@ -395,8 +402,6 @@ DEFINE_BOOL(inline_accessors, true, "inline JavaScript accessors")
DEFINE_INT(escape_analysis_iterations, 2,
"maximum number of escape analysis fix-point iterations")
-DEFINE_BOOL(optimize_for_in, true, "optimize functions containing for-in loops")
-
DEFINE_BOOL(concurrent_recompilation, true,
"optimizing hot functions asynchronously on a separate thread")
DEFINE_BOOL(trace_concurrent_recompilation, false,
@@ -417,7 +422,6 @@ DEFINE_BOOL(omit_map_checks_for_leaf_maps, true,
// Flags for TurboFan.
DEFINE_BOOL(turbo, false, "enable TurboFan compiler")
DEFINE_IMPLICATION(turbo, turbo_asm_deoptimization)
-DEFINE_IMPLICATION(turbo, turbo_inlining)
DEFINE_BOOL(turbo_shipping, true, "enable TurboFan compiler on subset")
DEFINE_BOOL(turbo_greedy_regalloc, false, "use the greedy register allocator")
DEFINE_BOOL(turbo_sp_frame_access, false,
@@ -450,7 +454,7 @@ DEFINE_BOOL(function_context_specialization, false,
"enable function context specialization in TurboFan")
DEFINE_BOOL(native_context_specialization, true,
"enable native context specialization in TurboFan")
-DEFINE_BOOL(turbo_inlining, false, "enable inlining in TurboFan")
+DEFINE_BOOL(turbo_inlining, true, "enable inlining in TurboFan")
DEFINE_BOOL(trace_turbo_inlining, false, "trace TurboFan inlining")
DEFINE_BOOL(loop_assignment_analysis, true, "perform loop assignment analysis")
DEFINE_BOOL(turbo_profiling, false, "enable profiling in TurboFan")
@@ -459,7 +463,6 @@ DEFINE_BOOL(turbo_verify_allocation, DEBUG_BOOL,
DEFINE_BOOL(turbo_move_optimization, true, "optimize gap moves in TurboFan")
DEFINE_BOOL(turbo_jt, true, "enable jump threading in TurboFan")
DEFINE_BOOL(turbo_osr, true, "enable OSR in TurboFan")
-DEFINE_BOOL(turbo_try_finally, false, "enable try-finally support in TurboFan")
DEFINE_BOOL(turbo_stress_loop_peeling, false,
"stress loop peeling optimization")
DEFINE_BOOL(turbo_cf_optimization, true, "optimize control flow in TurboFan")
@@ -467,18 +470,26 @@ DEFINE_BOOL(turbo_frame_elision, true, "elide frames in TurboFan")
DEFINE_BOOL(turbo_cache_shared_code, true, "cache context-independent code")
DEFINE_BOOL(turbo_preserve_shared_code, false, "keep context-independent code")
DEFINE_BOOL(turbo_escape, false, "enable escape analysis")
-DEFINE_BOOL(trace_turbo_escape, false, "enable tracing in escape analysis")
DEFINE_BOOL(turbo_instruction_scheduling, false,
"enable instruction scheduling in TurboFan")
+DEFINE_BOOL(turbo_stress_instruction_scheduling, false,
+ "randomly schedule instructions to stress dependency tracking")
// Flags for native WebAssembly.
DEFINE_BOOL(expose_wasm, false, "expose WASM interface to JavaScript")
DEFINE_BOOL(trace_wasm_decoder, false, "trace decoding of wasm code")
DEFINE_BOOL(trace_wasm_decode_time, false, "trace decoding time of wasm code")
DEFINE_BOOL(trace_wasm_compiler, false, "trace compiling of wasm code")
+DEFINE_BOOL(trace_wasm_ast, false, "dump AST after WASM decode")
DEFINE_BOOL(wasm_break_on_decoder_error, false,
"debug break when wasm decoder encounters an error")
+DEFINE_BOOL(enable_simd_asmjs, false, "enable SIMD.js in asm.js stdlib")
+
+DEFINE_BOOL(dump_asmjs_wasm, false, "dump Asm.js to WASM module bytes")
+DEFINE_STRING(asmjs_wasm_dumpfile, "asmjs.wasm",
+ "file to dump asm wasm conversion result to")
+
DEFINE_INT(typed_array_max_size_in_heap, 64,
"threshold for in-heap typed array")
@@ -626,13 +637,14 @@ DEFINE_INT(max_stack_trace_source_length, 300,
// full-codegen.cc
DEFINE_BOOL(always_inline_smi_code, false,
"always inline smi code in non-opt code")
+DEFINE_BOOL(verify_operand_stack_depth, false,
+ "emit debug code that verifies the static tracking of the operand "
+ "stack depth")
// heap.cc
DEFINE_INT(min_semi_space_size, 0,
"min size of a semi-space (in MBytes), the new space consists of two"
"semi-spaces")
-DEFINE_INT(target_semi_space_size, 0,
- "target size of a semi-space (in MBytes) before triggering a GC")
DEFINE_INT(max_semi_space_size, 0,
"max size of a semi-space (in MBytes), the new space consists of two"
"semi-spaces")
@@ -721,6 +733,11 @@ DEFINE_BOOL(heap_profiler_trace_objects, false,
"Dump heap object allocations/movements/size_updates")
+// sampling-heap-profiler.cc
+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.")
@@ -787,7 +804,8 @@ DEFINE_INT(sim_stack_size, 2 * MB / KB,
"in kBytes (default is 2 MB)")
DEFINE_BOOL(log_regs_modified, true,
"When logging register values, only print modified registers.")
-DEFINE_BOOL(log_colour, true, "When logging, try to use coloured output.")
+DEFINE_BOOL(log_colour, ENABLE_LOG_COLOUR,
+ "When logging, try to use coloured output.")
DEFINE_BOOL(ignore_asm_unimplemented_break, false,
"Don't break for ASM_UNIMPLEMENTED_BREAK macros.")
DEFINE_BOOL(trace_sim_messages, false,
@@ -805,6 +823,9 @@ 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)")
+// runtime.cc
+DEFINE_BOOL(runtime_call_stats, false, "report runtime call counts and times")
+
// snapshot-common.cc
DEFINE_BOOL(profile_deserialization, false,
"Print the time it takes to deserialize the snapshot.")
@@ -864,6 +885,10 @@ DEFINE_INT(external_allocation_limit_incremental_time, 1,
"Time spent in incremental marking steps (in ms) once the external "
"allocation limit is reached")
+DEFINE_BOOL(disable_old_api_accessors, false,
+ "Disable old-style API accessors whose setters trigger through the "
+ "prototype chain")
+
//
// Dev shell flags
//
@@ -919,7 +944,6 @@ DEFINE_BOOL(print_builtin_source, false,
"pretty print source code for builtins")
DEFINE_BOOL(print_ast, false, "print source AST")
DEFINE_BOOL(print_builtin_ast, false, "print source AST for builtins")
-DEFINE_STRING(stop_at, "", "function name where to insert a breakpoint")
DEFINE_BOOL(trap_on_abort, false, "replace aborts by breakpoints")
// compiler.cc
@@ -941,6 +965,7 @@ DEFINE_BOOL(print_global_handles, false, "report global handles after GC")
// TurboFan debug-only flags.
DEFINE_BOOL(print_turbo_replay, false,
"print C++ code to recreate TurboFan graphs")
+DEFINE_BOOL(trace_turbo_escape, false, "enable tracing in escape analysis")
// objects.cc
DEFINE_BOOL(trace_normalization, false,
@@ -953,6 +978,8 @@ DEFINE_BOOL(trace_lazy, false, "trace lazy compilation")
DEFINE_BOOL(collect_heap_spill_statistics, false,
"report heap spill statistics along with heap_stats "
"(requires heap_stats)")
+DEFINE_BOOL(trace_live_bytes, false,
+ "trace incrementing and resetting of live bytes")
DEFINE_BOOL(trace_isolates, false, "trace isolate state changes")