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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 DEFINE_IMPLICATION(harmony, id) | 248 DEFINE_IMPLICATION(harmony, id) |
249 HARMONY_STAGED(FLAG_STAGED_FEATURES) | 249 HARMONY_STAGED(FLAG_STAGED_FEATURES) |
250 #undef FLAG_STAGED_FEATURES | 250 #undef FLAG_STAGED_FEATURES |
251 | 251 |
252 #define FLAG_SHIPPING_FEATURES(id, description) \ | 252 #define FLAG_SHIPPING_FEATURES(id, description) \ |
253 DEFINE_BOOL(id, true, "enable " #description) \ | 253 DEFINE_BOOL(id, true, "enable " #description) \ |
254 DEFINE_NEG_NEG_IMPLICATION(harmony_shipping, id) | 254 DEFINE_NEG_NEG_IMPLICATION(harmony_shipping, id) |
255 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) | 255 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) |
256 #undef FLAG_SHIPPING_FEATURES | 256 #undef FLAG_SHIPPING_FEATURES |
257 | 257 |
258 // Flags for future configurations. | |
259 DEFINE_BOOL(future, false, | 258 DEFINE_BOOL(future, false, |
260 "Implies all staged features that we want to ship in the " | 259 "Implies all staged features that we want to ship in the " |
261 "not-too-far future") | 260 "not-too-far future") |
262 DEFINE_IMPLICATION(future, ignition_staging) | 261 DEFINE_IMPLICATION(future, ignition_staging) |
263 | 262 |
264 DEFINE_BOOL(ignition_staging, false, "use ignition with all staged features") | |
265 DEFINE_IMPLICATION(ignition_staging, ignition) | |
266 DEFINE_IMPLICATION(ignition_staging, compiler_dispatcher) | |
267 DEFINE_IMPLICATION(ignition_staging, validate_asm) | |
268 | |
269 // Flags for experimental implementation features. | 263 // Flags for experimental implementation features. |
270 DEFINE_BOOL(allocation_site_pretenuring, true, | 264 DEFINE_BOOL(allocation_site_pretenuring, true, |
271 "pretenure with allocation sites") | 265 "pretenure with allocation sites") |
272 DEFINE_BOOL(page_promotion, true, "promote pages based on utilization") | 266 DEFINE_BOOL(page_promotion, true, "promote pages based on utilization") |
273 DEFINE_INT(page_promotion_threshold, 70, | 267 DEFINE_INT(page_promotion_threshold, 70, |
274 "min percentage of live bytes on a page to enable fast evacuation") | 268 "min percentage of live bytes on a page to enable fast evacuation") |
275 DEFINE_BOOL(trace_pretenuring, false, | 269 DEFINE_BOOL(trace_pretenuring, false, |
276 "trace pretenuring decisions of HAllocate instructions") | 270 "trace pretenuring decisions of HAllocate instructions") |
277 DEFINE_BOOL(trace_pretenuring_statistics, false, | 271 DEFINE_BOOL(trace_pretenuring_statistics, false, |
278 "trace allocation site pretenuring statistics") | 272 "trace allocation site pretenuring statistics") |
(...skipping 20 matching lines...) Expand all Loading... |
299 "speed") | 293 "speed") |
300 | 294 |
301 DEFINE_VALUE_IMPLICATION(optimize_for_size, max_semi_space_size, 1) | 295 DEFINE_VALUE_IMPLICATION(optimize_for_size, max_semi_space_size, 1) |
302 | 296 |
303 // Flags for data representation optimizations | 297 // Flags for data representation optimizations |
304 DEFINE_BOOL(unbox_double_arrays, true, "automatically unbox arrays of doubles") | 298 DEFINE_BOOL(unbox_double_arrays, true, "automatically unbox arrays of doubles") |
305 DEFINE_BOOL(string_slices, true, "use string slices") | 299 DEFINE_BOOL(string_slices, true, "use string slices") |
306 | 300 |
307 // Flags for Ignition. | 301 // Flags for Ignition. |
308 DEFINE_BOOL(ignition, false, "use ignition interpreter") | 302 DEFINE_BOOL(ignition, false, "use ignition interpreter") |
| 303 DEFINE_BOOL(ignition_staging, false, "use ignition with all staged features") |
| 304 DEFINE_IMPLICATION(ignition_staging, ignition) |
| 305 DEFINE_IMPLICATION(ignition_staging, compiler_dispatcher) |
309 DEFINE_STRING(ignition_filter, "*", "filter for ignition interpreter") | 306 DEFINE_STRING(ignition_filter, "*", "filter for ignition interpreter") |
310 DEFINE_BOOL(ignition_deadcode, true, | 307 DEFINE_BOOL(ignition_deadcode, true, |
311 "use ignition dead code elimination optimizer") | 308 "use ignition dead code elimination optimizer") |
312 DEFINE_BOOL(ignition_osr, true, "enable support for OSR from ignition code") | 309 DEFINE_BOOL(ignition_osr, true, "enable support for OSR from ignition code") |
313 DEFINE_BOOL(ignition_peephole, true, "use ignition peephole optimizer") | 310 DEFINE_BOOL(ignition_peephole, true, "use ignition peephole optimizer") |
314 DEFINE_BOOL(ignition_reo, true, "use ignition register equivalence optimizer") | 311 DEFINE_BOOL(ignition_reo, true, "use ignition register equivalence optimizer") |
315 DEFINE_BOOL(ignition_filter_expression_positions, true, | 312 DEFINE_BOOL(ignition_filter_expression_positions, true, |
316 "filter expression positions before the bytecode pipeline") | 313 "filter expression positions before the bytecode pipeline") |
317 DEFINE_BOOL(print_bytecode, false, | 314 DEFINE_BOOL(print_bytecode, false, |
318 "print bytecode generated by ignition interpreter") | 315 "print bytecode generated by ignition interpreter") |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 "start function for WASM text generation (inclusive)") | 513 "start function for WASM text generation (inclusive)") |
517 DEFINE_INT(trace_wasm_text_end, 0, | 514 DEFINE_INT(trace_wasm_text_end, 0, |
518 "end function for WASM text generation (exclusive)") | 515 "end function for WASM text generation (exclusive)") |
519 DEFINE_INT(skip_compiling_wasm_funcs, 0, "start compiling at function N") | 516 DEFINE_INT(skip_compiling_wasm_funcs, 0, "start compiling at function N") |
520 DEFINE_BOOL(wasm_break_on_decoder_error, false, | 517 DEFINE_BOOL(wasm_break_on_decoder_error, false, |
521 "debug break when wasm decoder encounters an error") | 518 "debug break when wasm decoder encounters an error") |
522 DEFINE_BOOL(wasm_loop_assignment_analysis, true, | 519 DEFINE_BOOL(wasm_loop_assignment_analysis, true, |
523 "perform loop assignment analysis for WASM") | 520 "perform loop assignment analysis for WASM") |
524 | 521 |
525 DEFINE_BOOL(validate_asm, true, "validate asm.js modules before compiling") | 522 DEFINE_BOOL(validate_asm, true, "validate asm.js modules before compiling") |
| 523 DEFINE_IMPLICATION(ignition_staging, validate_asm) |
526 DEFINE_BOOL(suppress_asm_messages, false, | 524 DEFINE_BOOL(suppress_asm_messages, false, |
527 "don't emit asm.js related messages (for golden file testing)") | 525 "don't emit asm.js related messages (for golden file testing)") |
528 DEFINE_BOOL(trace_asm_time, false, "log asm.js timing info to the console") | 526 DEFINE_BOOL(trace_asm_time, false, "log asm.js timing info to the console") |
529 | 527 |
530 DEFINE_BOOL(dump_wasm_module, false, "dump WASM module bytes") | 528 DEFINE_BOOL(dump_wasm_module, false, "dump WASM module bytes") |
531 DEFINE_STRING(dump_wasm_module_path, NULL, "directory to dump wasm modules to") | 529 DEFINE_STRING(dump_wasm_module_path, NULL, "directory to dump wasm modules to") |
532 | 530 |
533 DEFINE_INT(typed_array_max_size_in_heap, 64, | 531 DEFINE_INT(typed_array_max_size_in_heap, 64, |
534 "threshold for in-heap typed array") | 532 "threshold for in-heap typed array") |
535 | 533 |
(...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1287 #undef DEFINE_ALIAS_FLOAT | 1285 #undef DEFINE_ALIAS_FLOAT |
1288 #undef DEFINE_ALIAS_ARGS | 1286 #undef DEFINE_ALIAS_ARGS |
1289 | 1287 |
1290 #undef FLAG_MODE_DECLARE | 1288 #undef FLAG_MODE_DECLARE |
1291 #undef FLAG_MODE_DEFINE | 1289 #undef FLAG_MODE_DEFINE |
1292 #undef FLAG_MODE_DEFINE_DEFAULTS | 1290 #undef FLAG_MODE_DEFINE_DEFAULTS |
1293 #undef FLAG_MODE_META | 1291 #undef FLAG_MODE_META |
1294 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 1292 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
1295 | 1293 |
1296 #undef COMMA | 1294 #undef COMMA |
OLD | NEW |