Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/flag-definitions.h

Issue 157503002: A64: Synchronize with r18444. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/factory.cc ('k') | src/flags.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 { Flag::TYPE_##ftype, #nam, &FLAG_##nam, &FLAGDEFAULT_##nam, cmt, false }, 62 { Flag::TYPE_##ftype, #nam, &FLAG_##nam, &FLAGDEFAULT_##nam, cmt, false },
63 #define FLAG_ALIAS(ftype, ctype, alias, nam) \ 63 #define FLAG_ALIAS(ftype, ctype, alias, nam) \
64 { Flag::TYPE_##ftype, #alias, &FLAG_##nam, &FLAGDEFAULT_##nam, \ 64 { Flag::TYPE_##ftype, #alias, &FLAG_##nam, &FLAGDEFAULT_##nam, \
65 "alias for --"#nam, false }, 65 "alias for --"#nam, false },
66 66
67 // We produce the code to set flags when it is implied by another flag. 67 // We produce the code to set flags when it is implied by another flag.
68 #elif defined(FLAG_MODE_DEFINE_IMPLICATIONS) 68 #elif defined(FLAG_MODE_DEFINE_IMPLICATIONS)
69 #define DEFINE_implication(whenflag, thenflag) \ 69 #define DEFINE_implication(whenflag, thenflag) \
70 if (FLAG_##whenflag) FLAG_##thenflag = true; 70 if (FLAG_##whenflag) FLAG_##thenflag = true;
71 71
72 #define DEFINE_neg_implication(whenflag, thenflag) \
73 if (FLAG_##whenflag) FLAG_##thenflag = false;
74
72 #else 75 #else
73 #error No mode supplied when including flags.defs 76 #error No mode supplied when including flags.defs
74 #endif 77 #endif
75 78
76 // Dummy defines for modes where it is not relevant. 79 // Dummy defines for modes where it is not relevant.
77 #ifndef FLAG_FULL 80 #ifndef FLAG_FULL
78 #define FLAG_FULL(ftype, ctype, nam, def, cmt) 81 #define FLAG_FULL(ftype, ctype, nam, def, cmt)
79 #endif 82 #endif
80 83
81 #ifndef FLAG_READONLY 84 #ifndef FLAG_READONLY
82 #define FLAG_READONLY(ftype, ctype, nam, def, cmt) 85 #define FLAG_READONLY(ftype, ctype, nam, def, cmt)
83 #endif 86 #endif
84 87
85 #ifndef FLAG_ALIAS 88 #ifndef FLAG_ALIAS
86 #define FLAG_ALIAS(ftype, ctype, alias, nam) 89 #define FLAG_ALIAS(ftype, ctype, alias, nam)
87 #endif 90 #endif
88 91
89 #ifndef DEFINE_implication 92 #ifndef DEFINE_implication
90 #define DEFINE_implication(whenflag, thenflag) 93 #define DEFINE_implication(whenflag, thenflag)
91 #endif 94 #endif
92 95
96 #ifndef DEFINE_neg_implication
97 #define DEFINE_neg_implication(whenflag, thenflag)
98 #endif
99
93 #define COMMA , 100 #define COMMA ,
94 101
95 #ifdef FLAG_MODE_DECLARE 102 #ifdef FLAG_MODE_DECLARE
96 // Structure used to hold a collection of arguments to the JavaScript code. 103 // Structure used to hold a collection of arguments to the JavaScript code.
97 struct JSArguments { 104 struct JSArguments {
98 public: 105 public:
99 inline const char*& operator[] (int idx) const { 106 inline const char*& operator[] (int idx) const {
100 return argv[idx]; 107 return argv[idx];
101 } 108 }
102 static JSArguments Create(int argc, const char** argv) { 109 static JSArguments Create(int argc, const char** argv) {
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 DEFINE_bool(concurrent_osr, false, 347 DEFINE_bool(concurrent_osr, false,
341 "concurrent on-stack replacement") 348 "concurrent on-stack replacement")
342 DEFINE_implication(concurrent_osr, concurrent_recompilation) 349 DEFINE_implication(concurrent_osr, concurrent_recompilation)
343 350
344 DEFINE_bool(omit_map_checks_for_leaf_maps, true, 351 DEFINE_bool(omit_map_checks_for_leaf_maps, true,
345 "do not emit check maps for constant values that have a leaf map, " 352 "do not emit check maps for constant values that have a leaf map, "
346 "deoptimize the optimized code if the layout of the maps changes.") 353 "deoptimize the optimized code if the layout of the maps changes.")
347 354
348 DEFINE_bool(new_string_add, true, "enable new string addition") 355 DEFINE_bool(new_string_add, true, "enable new string addition")
349 356
350 // Experimental profiler changes. 357 // Profiler flags.
351 DEFINE_bool(experimental_profiler, true, "enable all profiler experiments")
352 DEFINE_bool(watch_ic_patching, false, "profiler considers IC stability")
353 DEFINE_int(frame_count, 1, "number of stack frames inspected by the profiler") 358 DEFINE_int(frame_count, 1, "number of stack frames inspected by the profiler")
354 DEFINE_bool(self_optimization, false,
355 "primitive functions trigger their own optimization")
356 DEFINE_bool(direct_self_opt, false,
357 "call recompile stub directly when self-optimizing")
358 DEFINE_bool(retry_self_opt, false, "re-try self-optimization if it failed")
359 DEFINE_bool(interrupt_at_exit, false,
360 "insert an interrupt check at function exit")
361 DEFINE_bool(weighted_back_edges, false,
362 "weight back edges by jump distance for interrupt triggering")
363 // 0x1700 fits in the immediate field of an ARM instruction. 359 // 0x1700 fits in the immediate field of an ARM instruction.
364 DEFINE_int(interrupt_budget, 0x1700, 360 DEFINE_int(interrupt_budget, 0x1700,
365 "execution budget before interrupt is triggered") 361 "execution budget before interrupt is triggered")
366 DEFINE_int(type_info_threshold, 25, 362 DEFINE_int(type_info_threshold, 25,
367 "percentage of ICs that must have type info to allow optimization") 363 "percentage of ICs that must have type info to allow optimization")
368 DEFINE_int(self_opt_count, 130, "call count before self-optimization") 364 DEFINE_int(self_opt_count, 130, "call count before self-optimization")
369 365
370 DEFINE_implication(experimental_profiler, watch_ic_patching)
371 DEFINE_implication(experimental_profiler, self_optimization)
372 // Not implying direct_self_opt here because it seems to be a bad idea.
373 DEFINE_implication(experimental_profiler, retry_self_opt)
374 DEFINE_implication(experimental_profiler, interrupt_at_exit)
375 DEFINE_implication(experimental_profiler, weighted_back_edges)
376
377 DEFINE_bool(trace_opt_verbose, false, "extra verbose compilation tracing") 366 DEFINE_bool(trace_opt_verbose, false, "extra verbose compilation tracing")
378 DEFINE_implication(trace_opt_verbose, trace_opt) 367 DEFINE_implication(trace_opt_verbose, trace_opt)
379 368
380 // assembler-ia32.cc / assembler-arm.cc / assembler-x64.cc 369 // assembler-ia32.cc / assembler-arm.cc / assembler-x64.cc
381 DEFINE_bool(debug_code, false, 370 DEFINE_bool(debug_code, false,
382 "generate extra code (assertions) for debugging") 371 "generate extra code (assertions) for debugging")
383 DEFINE_bool(code_comments, false, "emit comments in code disassembly") 372 DEFINE_bool(code_comments, false, "emit comments in code disassembly")
384 DEFINE_bool(enable_sse2, true, 373 DEFINE_bool(enable_sse2, true,
385 "enable use of SSE2 instructions if available") 374 "enable use of SSE2 instructions if available")
386 DEFINE_bool(enable_sse3, true, 375 DEFINE_bool(enable_sse3, true,
(...skipping 27 matching lines...) Expand all
414 DEFINE_string(expose_debug_as, NULL, "expose debug in global object") 403 DEFINE_string(expose_debug_as, NULL, "expose debug in global object")
415 #ifdef ADDRESS_SANITIZER 404 #ifdef ADDRESS_SANITIZER
416 DEFINE_bool(expose_free_buffer, false, "expose freeBuffer extension") 405 DEFINE_bool(expose_free_buffer, false, "expose freeBuffer extension")
417 #endif 406 #endif
418 DEFINE_bool(expose_gc, false, "expose gc extension") 407 DEFINE_bool(expose_gc, false, "expose gc extension")
419 DEFINE_string(expose_gc_as, NULL, 408 DEFINE_string(expose_gc_as, NULL,
420 "expose gc extension under the specified name") 409 "expose gc extension under the specified name")
421 DEFINE_implication(expose_gc_as, expose_gc) 410 DEFINE_implication(expose_gc_as, expose_gc)
422 DEFINE_bool(expose_externalize_string, false, 411 DEFINE_bool(expose_externalize_string, false,
423 "expose externalize string extension") 412 "expose externalize string extension")
413 DEFINE_bool(expose_trigger_failure, false, "expose trigger-failure extension")
424 DEFINE_int(stack_trace_limit, 10, "number of stack frames to capture") 414 DEFINE_int(stack_trace_limit, 10, "number of stack frames to capture")
425 DEFINE_bool(builtins_in_stack_traces, false, 415 DEFINE_bool(builtins_in_stack_traces, false,
426 "show built-in functions in stack traces") 416 "show built-in functions in stack traces")
427 DEFINE_bool(disable_native_files, false, "disable builtin natives files") 417 DEFINE_bool(disable_native_files, false, "disable builtin natives files")
428 418
429 // builtins-ia32.cc 419 // builtins-ia32.cc
430 DEFINE_bool(inline_new, true, "use fast inline allocation") 420 DEFINE_bool(inline_new, true, "use fast inline allocation")
431 421
432 // checks.cc 422 // checks.cc
433 DEFINE_bool(stack_trace_on_abort, true, 423 DEFINE_bool(stack_trace_on_abort, true,
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 #endif 644 #endif
655 645
656 // mksnapshot.cc 646 // mksnapshot.cc
657 DEFINE_string(extra_code, NULL, "A filename with extra code to be included in" 647 DEFINE_string(extra_code, NULL, "A filename with extra code to be included in"
658 " the snapshot (mksnapshot only)") 648 " the snapshot (mksnapshot only)")
659 649
660 // code-stubs-hydrogen.cc 650 // code-stubs-hydrogen.cc
661 DEFINE_bool(profile_hydrogen_code_stub_compilation, false, 651 DEFINE_bool(profile_hydrogen_code_stub_compilation, false,
662 "Print the time it takes to lazily compile hydrogen code stubs.") 652 "Print the time it takes to lazily compile hydrogen code stubs.")
663 653
654 DEFINE_bool(predictable, false, "enable predictable mode")
655 DEFINE_neg_implication(predictable, randomize_hashes)
656 DEFINE_neg_implication(predictable, concurrent_recompilation)
657 DEFINE_neg_implication(predictable, concurrent_osr)
658 DEFINE_neg_implication(predictable, concurrent_sweeping)
659 DEFINE_neg_implication(predictable, parallel_sweeping)
660
661
664 // 662 //
665 // Dev shell flags 663 // Dev shell flags
666 // 664 //
667 665
668 DEFINE_bool(help, false, "Print usage message, including flags, on console") 666 DEFINE_bool(help, false, "Print usage message, including flags, on console")
669 DEFINE_bool(dump_counters, false, "Dump counters on exit") 667 DEFINE_bool(dump_counters, false, "Dump counters on exit")
670 668
671 #ifdef ENABLE_DEBUGGER_SUPPORT 669 #ifdef ENABLE_DEBUGGER_SUPPORT
672 DEFINE_bool(debugger, false, "Enable JavaScript debugger") 670 DEFINE_bool(debugger, false, "Enable JavaScript debugger")
673 DEFINE_bool(remote_debugger, false, "Connect JavaScript debugger to the " 671 DEFINE_bool(remote_debugger, false, "Connect JavaScript debugger to the "
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 #undef FLAG 904 #undef FLAG
907 #undef FLAG_ALIAS 905 #undef FLAG_ALIAS
908 906
909 #undef DEFINE_bool 907 #undef DEFINE_bool
910 #undef DEFINE_maybe_bool 908 #undef DEFINE_maybe_bool
911 #undef DEFINE_int 909 #undef DEFINE_int
912 #undef DEFINE_string 910 #undef DEFINE_string
913 #undef DEFINE_float 911 #undef DEFINE_float
914 #undef DEFINE_args 912 #undef DEFINE_args
915 #undef DEFINE_implication 913 #undef DEFINE_implication
914 #undef DEFINE_neg_implication
916 #undef DEFINE_ALIAS_bool 915 #undef DEFINE_ALIAS_bool
917 #undef DEFINE_ALIAS_int 916 #undef DEFINE_ALIAS_int
918 #undef DEFINE_ALIAS_string 917 #undef DEFINE_ALIAS_string
919 #undef DEFINE_ALIAS_float 918 #undef DEFINE_ALIAS_float
920 #undef DEFINE_ALIAS_args 919 #undef DEFINE_ALIAS_args
921 920
922 #undef FLAG_MODE_DECLARE 921 #undef FLAG_MODE_DECLARE
923 #undef FLAG_MODE_DEFINE 922 #undef FLAG_MODE_DEFINE
924 #undef FLAG_MODE_DEFINE_DEFAULTS 923 #undef FLAG_MODE_DEFINE_DEFAULTS
925 #undef FLAG_MODE_META 924 #undef FLAG_MODE_META
926 #undef FLAG_MODE_DEFINE_IMPLICATIONS 925 #undef FLAG_MODE_DEFINE_IMPLICATIONS
927 926
928 #undef COMMA 927 #undef COMMA
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/flags.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698