OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file defines all of the flags. It is separated into different section, | 5 // This file defines all of the flags. It is separated into different section, |
6 // for Debug, Release, Logging and Profiling, etc. To add a new flag, find the | 6 // for Debug, Release, Logging and Profiling, etc. To add a new flag, find the |
7 // correct section, and use one of the DEFINE_ macros, without a trailing ';'. | 7 // correct section, and use one of the DEFINE_ macros, without a trailing ';'. |
8 // | 8 // |
9 // This include does not have a guard, because it is a template-style include, | 9 // This include does not have a guard, because it is a template-style include, |
10 // which can be included multiple times in different modes. It expects to have | 10 // which can be included multiple times in different modes. It expects to have |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 DEFINE_BOOL(trace_environment_liveness, false, | 347 DEFINE_BOOL(trace_environment_liveness, false, |
348 "trace liveness of local variable slots") | 348 "trace liveness of local variable slots") |
349 DEFINE_BOOL(trace_hydrogen, false, "trace generated hydrogen to file") | 349 DEFINE_BOOL(trace_hydrogen, false, "trace generated hydrogen to file") |
350 DEFINE_STRING(trace_hydrogen_filter, "*", "hydrogen tracing filter") | 350 DEFINE_STRING(trace_hydrogen_filter, "*", "hydrogen tracing filter") |
351 DEFINE_BOOL(trace_hydrogen_stubs, false, "trace generated hydrogen for stubs") | 351 DEFINE_BOOL(trace_hydrogen_stubs, false, "trace generated hydrogen for stubs") |
352 DEFINE_STRING(trace_hydrogen_file, NULL, "trace hydrogen to given file name") | 352 DEFINE_STRING(trace_hydrogen_file, NULL, "trace hydrogen to given file name") |
353 DEFINE_STRING(trace_phase, "HLZ", "trace generated IR for specified phases") | 353 DEFINE_STRING(trace_phase, "HLZ", "trace generated IR for specified phases") |
354 DEFINE_BOOL(trace_inlining, false, "trace inlining decisions") | 354 DEFINE_BOOL(trace_inlining, false, "trace inlining decisions") |
355 DEFINE_BOOL(trace_load_elimination, false, "trace load elimination") | 355 DEFINE_BOOL(trace_load_elimination, false, "trace load elimination") |
356 DEFINE_BOOL(trace_store_elimination, false, "trace store elimination") | 356 DEFINE_BOOL(trace_store_elimination, false, "trace store elimination") |
| 357 DEFINE_BOOL(turbo_verify_store_elimination, false, |
| 358 "verify store elimination more rigorously") |
357 DEFINE_BOOL(trace_alloc, false, "trace register allocator") | 359 DEFINE_BOOL(trace_alloc, false, "trace register allocator") |
358 DEFINE_BOOL(trace_all_uses, false, "trace all use positions") | 360 DEFINE_BOOL(trace_all_uses, false, "trace all use positions") |
359 DEFINE_BOOL(trace_range, false, "trace range analysis") | 361 DEFINE_BOOL(trace_range, false, "trace range analysis") |
360 DEFINE_BOOL(trace_gvn, false, "trace global value numbering") | 362 DEFINE_BOOL(trace_gvn, false, "trace global value numbering") |
361 DEFINE_BOOL(trace_representation, false, "trace representation types") | 363 DEFINE_BOOL(trace_representation, false, "trace representation types") |
362 DEFINE_BOOL(trace_removable_simulates, false, "trace removable simulates") | 364 DEFINE_BOOL(trace_removable_simulates, false, "trace removable simulates") |
363 DEFINE_BOOL(trace_escape_analysis, false, "trace hydrogen escape analysis") | 365 DEFINE_BOOL(trace_escape_analysis, false, "trace hydrogen escape analysis") |
364 DEFINE_BOOL(trace_allocation_folding, false, "trace allocation folding") | 366 DEFINE_BOOL(trace_allocation_folding, false, "trace allocation folding") |
365 DEFINE_BOOL(trace_track_allocation_sites, false, | 367 DEFINE_BOOL(trace_track_allocation_sites, false, |
366 "trace the tracking of allocation sites") | 368 "trace the tracking of allocation sites") |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 DEFINE_BOOL(block_concurrent_recompilation, false, | 418 DEFINE_BOOL(block_concurrent_recompilation, false, |
417 "block queued jobs until released") | 419 "block queued jobs until released") |
418 | 420 |
419 DEFINE_BOOL(omit_map_checks_for_leaf_maps, true, | 421 DEFINE_BOOL(omit_map_checks_for_leaf_maps, true, |
420 "do not emit check maps for constant values that have a leaf map, " | 422 "do not emit check maps for constant values that have a leaf map, " |
421 "deoptimize the optimized code if the layout of the maps changes.") | 423 "deoptimize the optimized code if the layout of the maps changes.") |
422 | 424 |
423 // Flags for TurboFan. | 425 // Flags for TurboFan. |
424 DEFINE_BOOL(turbo, false, "enable TurboFan compiler") | 426 DEFINE_BOOL(turbo, false, "enable TurboFan compiler") |
425 DEFINE_IMPLICATION(turbo, turbo_asm_deoptimization) | 427 DEFINE_IMPLICATION(turbo, turbo_asm_deoptimization) |
426 DEFINE_IMPLICATION(turbo, turbo_store_elimination) | |
427 DEFINE_IMPLICATION(turbo, turbo_loop_peeling) | 428 DEFINE_IMPLICATION(turbo, turbo_loop_peeling) |
428 DEFINE_BOOL(turbo_shipping, true, "enable TurboFan compiler on subset") | 429 DEFINE_BOOL(turbo_shipping, true, "enable TurboFan compiler on subset") |
429 DEFINE_BOOL(turbo_from_bytecode, false, "enable building graphs from bytecode") | 430 DEFINE_BOOL(turbo_from_bytecode, false, "enable building graphs from bytecode") |
430 DEFINE_BOOL(turbo_sp_frame_access, false, | 431 DEFINE_BOOL(turbo_sp_frame_access, false, |
431 "use stack pointer-relative access to frame wherever possible") | 432 "use stack pointer-relative access to frame wherever possible") |
432 DEFINE_BOOL(turbo_preprocess_ranges, true, | 433 DEFINE_BOOL(turbo_preprocess_ranges, true, |
433 "run pre-register allocation heuristics") | 434 "run pre-register allocation heuristics") |
434 DEFINE_BOOL(turbo_loop_stackcheck, true, "enable stack checks in loops") | 435 DEFINE_BOOL(turbo_loop_stackcheck, true, "enable stack checks in loops") |
435 DEFINE_STRING(turbo_filter, "~~", "optimization filter for TurboFan compiler") | 436 DEFINE_STRING(turbo_filter, "~~", "optimization filter for TurboFan compiler") |
436 DEFINE_BOOL(trace_turbo, false, "trace generated TurboFan IR") | 437 DEFINE_BOOL(trace_turbo, false, "trace generated TurboFan IR") |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 DEFINE_BOOL(turbo_loop_peeling, false, "Turbofan loop peeling") | 478 DEFINE_BOOL(turbo_loop_peeling, false, "Turbofan loop peeling") |
478 DEFINE_BOOL(turbo_cf_optimization, true, "optimize control flow in TurboFan") | 479 DEFINE_BOOL(turbo_cf_optimization, true, "optimize control flow in TurboFan") |
479 DEFINE_BOOL(turbo_frame_elision, true, "elide frames in TurboFan") | 480 DEFINE_BOOL(turbo_frame_elision, true, "elide frames in TurboFan") |
480 DEFINE_BOOL(turbo_cache_shared_code, true, "cache context-independent code") | 481 DEFINE_BOOL(turbo_cache_shared_code, true, "cache context-independent code") |
481 DEFINE_BOOL(turbo_preserve_shared_code, false, "keep context-independent code") | 482 DEFINE_BOOL(turbo_preserve_shared_code, false, "keep context-independent code") |
482 DEFINE_BOOL(turbo_escape, false, "enable escape analysis") | 483 DEFINE_BOOL(turbo_escape, false, "enable escape analysis") |
483 DEFINE_BOOL(turbo_instruction_scheduling, false, | 484 DEFINE_BOOL(turbo_instruction_scheduling, false, |
484 "enable instruction scheduling in TurboFan") | 485 "enable instruction scheduling in TurboFan") |
485 DEFINE_BOOL(turbo_stress_instruction_scheduling, false, | 486 DEFINE_BOOL(turbo_stress_instruction_scheduling, false, |
486 "randomly schedule instructions to stress dependency tracking") | 487 "randomly schedule instructions to stress dependency tracking") |
487 DEFINE_BOOL(turbo_store_elimination, false, | 488 DEFINE_BOOL(turbo_store_elimination, true, |
488 "enable store-store elimination in TurboFan") | 489 "enable store-store elimination in TurboFan") |
489 | 490 |
490 // Flags for native WebAssembly. | 491 // Flags for native WebAssembly. |
491 DEFINE_BOOL(expose_wasm, false, "expose WASM interface to JavaScript") | 492 DEFINE_BOOL(expose_wasm, false, "expose WASM interface to JavaScript") |
492 DEFINE_INT(wasm_num_compilation_tasks, 10, | 493 DEFINE_INT(wasm_num_compilation_tasks, 10, |
493 "number of parallel compilation tasks for wasm") | 494 "number of parallel compilation tasks for wasm") |
494 DEFINE_BOOL(trace_wasm_encoder, false, "trace encoding of wasm code") | 495 DEFINE_BOOL(trace_wasm_encoder, false, "trace encoding of wasm code") |
495 DEFINE_BOOL(trace_wasm_decoder, false, "trace decoding of wasm code") | 496 DEFINE_BOOL(trace_wasm_decoder, false, "trace decoding of wasm code") |
496 DEFINE_BOOL(trace_wasm_decode_time, false, "trace decoding time of wasm code") | 497 DEFINE_BOOL(trace_wasm_decode_time, false, "trace decoding time of wasm code") |
497 DEFINE_BOOL(trace_wasm_compiler, false, "trace compiling of wasm code") | 498 DEFINE_BOOL(trace_wasm_compiler, false, "trace compiling of wasm code") |
(...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1200 #undef DEFINE_ALIAS_FLOAT | 1201 #undef DEFINE_ALIAS_FLOAT |
1201 #undef DEFINE_ALIAS_ARGS | 1202 #undef DEFINE_ALIAS_ARGS |
1202 | 1203 |
1203 #undef FLAG_MODE_DECLARE | 1204 #undef FLAG_MODE_DECLARE |
1204 #undef FLAG_MODE_DEFINE | 1205 #undef FLAG_MODE_DEFINE |
1205 #undef FLAG_MODE_DEFINE_DEFAULTS | 1206 #undef FLAG_MODE_DEFINE_DEFAULTS |
1206 #undef FLAG_MODE_META | 1207 #undef FLAG_MODE_META |
1207 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 1208 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
1208 | 1209 |
1209 #undef COMMA | 1210 #undef COMMA |
OLD | NEW |