aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/flag-definitions.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/flag-definitions.h')
-rw-r--r--deps/v8/src/flag-definitions.h62
1 files changed, 44 insertions, 18 deletions
diff --git a/deps/v8/src/flag-definitions.h b/deps/v8/src/flag-definitions.h
index f1bdc0c290..93e61df082 100644
--- a/deps/v8/src/flag-definitions.h
+++ b/deps/v8/src/flag-definitions.h
@@ -190,21 +190,23 @@ DEFINE_IMPLICATION(es_staging, harmony)
V(harmony_arrow_functions, "harmony arrow functions") \
V(harmony_proxies, "harmony proxies") \
V(harmony_sloppy, "harmony features in sloppy mode") \
- V(harmony_unicode, "harmony unicode escapes") \
V(harmony_unicode_regexps, "harmony unicode regexps") \
- V(harmony_rest_parameters, "harmony rest parameters") \
- V(harmony_reflect, "harmony Reflect API")
+ V(harmony_reflect, "harmony Reflect API") \
+ V(harmony_destructuring, "harmony destructuring") \
+ V(harmony_object, "harmony Object methods")
// Features that are complete (but still behind --harmony/es-staging flag).
-#define HARMONY_STAGED(V) \
- V(harmony_computed_property_names, "harmony computed property names") \
- V(harmony_tostring, "harmony toString")
+#define HARMONY_STAGED(V) \
+ V(harmony_rest_parameters, "harmony rest parameters") \
+ V(harmony_spreadcalls, "harmony spread-calls") \
+ V(harmony_tostring, "harmony toString") \
// Features that are shipping (turned on by default, but internal flag remains).
#define HARMONY_SHIPPING(V) \
- V(harmony_numeric_literals, "harmony numeric literals") \
V(harmony_classes, "harmony classes (implies object literal extension)") \
- V(harmony_object_literals, "harmony object literal extensions")
+ V(harmony_computed_property_names, "harmony computed property names") \
+ V(harmony_object_literals, "harmony object literal extensions") \
+ V(harmony_unicode, "harmony unicode escapes") \
// 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,
@@ -258,7 +260,7 @@ DEFINE_BOOL(track_field_types, true, "track field types")
DEFINE_IMPLICATION(track_field_types, track_fields)
DEFINE_IMPLICATION(track_field_types, track_heap_object_fields)
DEFINE_BOOL(smi_binop, true, "support smi representation in binary operations")
-DEFINE_BOOL(vector_ics, false, "support vector-based ics")
+DEFINE_BOOL(vector_ics, true, "support vector-based ics")
// Flags for optimization types.
DEFINE_BOOL(optimize_for_size, false,
@@ -364,9 +366,6 @@ 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(job_based_recompilation, true,
- "post tasks to v8::Platform instead of using a thread for "
- "concurrent recompilation")
DEFINE_BOOL(trace_concurrent_recompilation, false,
"track concurrent recompilation")
DEFINE_INT(concurrent_recompilation_queue_length, 8,
@@ -383,7 +382,11 @@ DEFINE_BOOL(omit_map_checks_for_leaf_maps, true,
"deoptimize the optimized code if the layout of the maps changes.")
// Flags for TurboFan.
-DEFINE_STRING(turbo_filter, "~", "optimization filter for TurboFan compiler")
+DEFINE_BOOL(turbo, false, "enable TurboFan compiler")
+DEFINE_BOOL(turbo_greedy_regalloc, false, "use the greedy register allocator")
+DEFINE_IMPLICATION(turbo, turbo_deoptimization)
+DEFINE_IMPLICATION(turbo, turbo_type_feedback)
+DEFINE_STRING(turbo_filter, "~~", "optimization filter for TurboFan compiler")
DEFINE_BOOL(trace_turbo, false, "trace generated TurboFan IR")
DEFINE_BOOL(trace_turbo_graph, false, "trace generated TurboFan graphs")
DEFINE_IMPLICATION(trace_turbo_graph, trace_turbo)
@@ -393,12 +396,14 @@ DEFINE_BOOL(trace_turbo_types, true, "trace TurboFan's types")
DEFINE_BOOL(trace_turbo_scheduler, false, "trace TurboFan's scheduler")
DEFINE_BOOL(trace_turbo_reduction, false, "trace TurboFan's various reducers")
DEFINE_BOOL(trace_turbo_jt, false, "trace TurboFan's jump threading")
+DEFINE_BOOL(trace_turbo_ceq, false, "trace TurboFan's control equivalence")
DEFINE_BOOL(turbo_asm, true, "enable TurboFan for asm.js code")
DEFINE_BOOL(turbo_verify, DEBUG_BOOL, "verify TurboFan graphs at each phase")
DEFINE_BOOL(turbo_stats, false, "print TurboFan statistics")
DEFINE_BOOL(turbo_splitting, true, "split nodes during scheduling in TurboFan")
DEFINE_BOOL(turbo_types, true, "use typed lowering in TurboFan")
DEFINE_BOOL(turbo_type_feedback, false, "use type feedback in TurboFan")
+DEFINE_BOOL(turbo_allocate, false, "enable inline allocations in TurboFan")
DEFINE_BOOL(turbo_source_positions, false,
"track source code positions when building TurboFan IR")
DEFINE_IMPLICATION(trace_turbo, turbo_source_positions)
@@ -410,9 +415,6 @@ DEFINE_BOOL(turbo_builtin_inlining, true, "enable builtin 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")
-// TODO(dcarney): this is just for experimentation, remove when default.
-DEFINE_BOOL(turbo_delay_ssa_decon, false,
- "delay ssa deconstruction in TurboFan register allocator")
DEFINE_BOOL(turbo_verify_allocation, DEBUG_BOOL,
"verify register allocation in TurboFan")
DEFINE_BOOL(turbo_move_optimization, true, "optimize gap moves in TurboFan")
@@ -422,6 +424,7 @@ DEFINE_BOOL(turbo_exceptions, false, "enable exception handling in TurboFan")
DEFINE_BOOL(turbo_stress_loop_peeling, false,
"stress loop peeling optimization")
DEFINE_BOOL(turbo_cf_optimization, true, "optimize control flow in TurboFan")
+DEFINE_BOOL(turbo_frame_elision, true, "elide frames in TurboFan")
DEFINE_INT(typed_array_max_size_in_heap, 64,
"threshold for in-heap typed array")
@@ -450,6 +453,11 @@ DEFINE_BOOL(enable_sahf, true,
"enable use of SAHF instruction if available (X64 only)")
DEFINE_BOOL(enable_avx, true, "enable use of AVX instructions if available")
DEFINE_BOOL(enable_fma3, true, "enable use of FMA3 instructions if available")
+DEFINE_BOOL(enable_bmi1, true, "enable use of BMI1 instructions if available")
+DEFINE_BOOL(enable_bmi2, true, "enable use of BMI2 instructions if available")
+DEFINE_BOOL(enable_lzcnt, true, "enable use of LZCNT instruction if available")
+DEFINE_BOOL(enable_popcnt, true,
+ "enable use of POPCNT instruction if available")
DEFINE_BOOL(enable_vfp3, ENABLE_VFP3_DEFAULT,
"enable use of VFP3 instructions if available")
DEFINE_BOOL(enable_armv7, ENABLE_ARMV7_DEFAULT,
@@ -595,6 +603,8 @@ DEFINE_BOOL(print_max_heap_committed, false,
"in name=value format on exit")
DEFINE_BOOL(trace_gc_verbose, false,
"print more details following each garbage collection")
+DEFINE_INT(trace_allocation_stack_interval, -1,
+ "print stack trace after <n> free-list allocations")
DEFINE_BOOL(trace_fragmentation, false, "report fragmentation for old space")
DEFINE_BOOL(trace_fragmentation_verbose, false,
"report fragmentation for old space (detailed)")
@@ -626,6 +636,9 @@ DEFINE_BOOL(trace_incremental_marking, false,
"trace progress of the incremental marking")
DEFINE_BOOL(track_gc_object_stats, false,
"track object counts and memory usage")
+DEFINE_BOOL(trace_gc_object_stats, false,
+ "trace object counts and memory usage")
+DEFINE_IMPLICATION(trace_gc_object_stats, track_gc_object_stats)
DEFINE_BOOL(track_detached_contexts, true,
"track native contexts that are expected to be garbage collected")
DEFINE_BOOL(trace_detached_contexts, false,
@@ -635,6 +648,10 @@ DEFINE_IMPLICATION(trace_detached_contexts, track_detached_contexts)
DEFINE_BOOL(verify_heap, false, "verify heap pointers before and after GC")
#endif
+// counters.cc
+DEFINE_INT(histogram_interval, 600000,
+ "time interval in ms for aggregating memory histograms")
+
// heap-snapshot-generator.cc
DEFINE_BOOL(heap_profiler_trace_objects, false,
@@ -673,9 +690,14 @@ DEFINE_INT(random_seed, 0,
"(0, the default, means to use system random).")
// objects.cc
-DEFINE_BOOL(trace_weak_arrays, false, "trace WeakFixedArray usage")
+DEFINE_BOOL(trace_weak_arrays, false, "Trace WeakFixedArray usage")
DEFINE_BOOL(track_prototype_users, false,
- "keep track of which maps refer to a given prototype object")
+ "Keep track of which maps refer to a given prototype object")
+DEFINE_BOOL(trace_prototype_users, false,
+ "Trace updates to prototype user tracking")
+DEFINE_BOOL(eliminate_prototype_chain_checks, true,
+ "Collapse prototype chain checks into single-cell checks")
+DEFINE_IMPLICATION(eliminate_prototype_chain_checks, track_prototype_users)
DEFINE_BOOL(use_verbose_printer, true, "allows verbose printing")
#if TRACE_MAPS
DEFINE_BOOL(trace_maps, false, "trace map creation")
@@ -726,6 +748,8 @@ DEFINE_INT(hash_seed, 0,
// snapshot-common.cc
DEFINE_BOOL(profile_deserialization, false,
"Print the time it takes to deserialize the snapshot.")
+DEFINE_BOOL(serialization_statistics, false,
+ "Collect statistics on serialized objects.")
// Regexp
DEFINE_BOOL(regexp_optimization, true, "generate optimized regexp code")
@@ -844,6 +868,8 @@ DEFINE_BOOL(gc_verbose, false, "print stuff during garbage collection")
DEFINE_BOOL(heap_stats, false, "report heap statistics before and after GC")
DEFINE_BOOL(code_stats, false, "report code statistics after GC")
DEFINE_BOOL(print_handles, false, "report handles after GC")
+DEFINE_BOOL(check_handle_count, false,
+ "Check that there are not too many handles at GC")
DEFINE_BOOL(print_global_handles, false, "report global handles after GC")
// TurboFan debug-only flags.