| OLD | NEW |
| 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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 FLAG_ALIAS(STRING, const char*, alias, nam) | 160 FLAG_ALIAS(STRING, const char*, alias, nam) |
| 161 #define DEFINE_ALIAS_args(alias, nam) FLAG_ALIAS(ARGS, JSArguments, alias, nam) | 161 #define DEFINE_ALIAS_args(alias, nam) FLAG_ALIAS(ARGS, JSArguments, alias, nam) |
| 162 | 162 |
| 163 // | 163 // |
| 164 // Flags in all modes. | 164 // Flags in all modes. |
| 165 // | 165 // |
| 166 #define FLAG FLAG_FULL | 166 #define FLAG FLAG_FULL |
| 167 | 167 |
| 168 // Flags for language modes and experimental language features. | 168 // Flags for language modes and experimental language features. |
| 169 DEFINE_bool(use_strict, false, "enforce strict mode") | 169 DEFINE_bool(use_strict, false, "enforce strict mode") |
| 170 DEFINE_bool(es5_readonly, true, | 170 DEFINE_bool(es_staging, false, "enable upcoming ES6+ features") |
| 171 "activate correct semantics for inheriting readonliness") | |
| 172 DEFINE_bool(es52_globals, true, | |
| 173 "activate new semantics for global var declarations") | |
| 174 | 171 |
| 175 DEFINE_bool(harmony_typeof, false, "enable harmony semantics for typeof") | 172 DEFINE_bool(harmony_typeof, false, "enable harmony semantics for typeof") |
| 176 DEFINE_bool(harmony_scoping, false, "enable harmony block scoping") | 173 DEFINE_bool(harmony_scoping, false, "enable harmony block scoping") |
| 177 DEFINE_bool(harmony_modules, false, | 174 DEFINE_bool(harmony_modules, false, |
| 178 "enable harmony modules (implies block scoping)") | 175 "enable harmony modules (implies block scoping)") |
| 179 DEFINE_bool(harmony_symbols, false, | 176 DEFINE_bool(harmony_symbols, false, |
| 180 "enable harmony symbols (a.k.a. private names)") | 177 "enable harmony symbols (a.k.a. private names)") |
| 181 DEFINE_bool(harmony_promises, false, "enable harmony promises") | 178 DEFINE_bool(harmony_promises, false, "enable harmony promises") |
| 182 DEFINE_bool(harmony_proxies, false, "enable harmony proxies") | 179 DEFINE_bool(harmony_proxies, false, "enable harmony proxies") |
| 183 DEFINE_bool(harmony_collections, false, | 180 DEFINE_bool(harmony_collections, false, |
| 184 "enable harmony collections (sets, maps, and weak maps)") | 181 "enable harmony collections (sets, maps, and weak maps)") |
| 185 DEFINE_bool(harmony_observation, false, | |
| 186 "enable harmony object observation (implies harmony collections") | |
| 187 DEFINE_bool(harmony_generators, false, "enable harmony generators") | 182 DEFINE_bool(harmony_generators, false, "enable harmony generators") |
| 188 DEFINE_bool(harmony_iteration, false, "enable harmony iteration (for-of)") | 183 DEFINE_bool(harmony_iteration, false, "enable harmony iteration (for-of)") |
| 189 DEFINE_bool(harmony_numeric_literals, false, | 184 DEFINE_bool(harmony_numeric_literals, false, |
| 190 "enable harmony numeric literals (0o77, 0b11)") | 185 "enable harmony numeric literals (0o77, 0b11)") |
| 191 DEFINE_bool(harmony_strings, false, "enable harmony string") | 186 DEFINE_bool(harmony_strings, false, "enable harmony string") |
| 192 DEFINE_bool(harmony_arrays, false, "enable harmony arrays") | 187 DEFINE_bool(harmony_arrays, false, "enable harmony arrays") |
| 193 DEFINE_bool(harmony_maths, false, "enable harmony math functions") | 188 DEFINE_bool(harmony_maths, false, "enable harmony math functions") |
| 194 DEFINE_bool(harmony, false, "enable all harmony features (except typeof)") | 189 DEFINE_bool(harmony, false, "enable all harmony features (except typeof)") |
| 190 |
| 195 DEFINE_implication(harmony, harmony_scoping) | 191 DEFINE_implication(harmony, harmony_scoping) |
| 196 DEFINE_implication(harmony, harmony_modules) | 192 DEFINE_implication(harmony, harmony_modules) |
| 197 DEFINE_implication(harmony, harmony_symbols) | 193 DEFINE_implication(harmony, harmony_symbols) |
| 198 DEFINE_implication(harmony, harmony_promises) | 194 DEFINE_implication(harmony, harmony_promises) |
| 199 DEFINE_implication(harmony, harmony_proxies) | 195 DEFINE_implication(harmony, harmony_proxies) |
| 200 DEFINE_implication(harmony, harmony_collections) | 196 DEFINE_implication(harmony, harmony_collections) |
| 201 DEFINE_implication(harmony, harmony_observation) | |
| 202 DEFINE_implication(harmony, harmony_generators) | 197 DEFINE_implication(harmony, harmony_generators) |
| 203 DEFINE_implication(harmony, harmony_iteration) | 198 DEFINE_implication(harmony, harmony_iteration) |
| 204 DEFINE_implication(harmony, harmony_numeric_literals) | 199 DEFINE_implication(harmony, harmony_numeric_literals) |
| 205 DEFINE_implication(harmony, harmony_strings) | 200 DEFINE_implication(harmony, harmony_strings) |
| 206 DEFINE_implication(harmony, harmony_arrays) | 201 DEFINE_implication(harmony, harmony_arrays) |
| 207 DEFINE_implication(harmony, harmony_maths) | |
| 208 DEFINE_implication(harmony_promises, harmony_collections) | 202 DEFINE_implication(harmony_promises, harmony_collections) |
| 209 DEFINE_implication(harmony_modules, harmony_scoping) | 203 DEFINE_implication(harmony_modules, harmony_scoping) |
| 210 DEFINE_implication(harmony_observation, harmony_collections) | 204 |
| 205 DEFINE_implication(harmony, es_staging) |
| 206 DEFINE_implication(es_staging, harmony_maths) |
| 211 | 207 |
| 212 // Flags for experimental implementation features. | 208 // Flags for experimental implementation features. |
| 213 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") | 209 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") |
| 214 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") | 210 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") |
| 215 DEFINE_bool(compiled_keyed_dictionary_loads, true, | 211 DEFINE_bool(compiled_keyed_dictionary_loads, true, |
| 216 "use optimizing compiler to generate keyed dictionary load stubs") | 212 "use optimizing compiler to generate keyed dictionary load stubs") |
| 217 DEFINE_bool(clever_optimizations, true, | 213 DEFINE_bool(clever_optimizations, true, |
| 218 "Optimize object size, Array shift, DOM strings and string +") | 214 "Optimize object size, Array shift, DOM strings and string +") |
| 219 DEFINE_bool(pretenuring, true, "allocate objects in old space") | 215 DEFINE_bool(pretenuring, true, "allocate objects in old space") |
| 220 // TODO(hpayer): We will remove this flag as soon as we have pretenuring | 216 // TODO(hpayer): We will remove this flag as soon as we have pretenuring |
| (...skipping 19 matching lines...) Expand all Loading... |
| 240 "Enables optimizations which favor memory size over execution " | 236 "Enables optimizations which favor memory size over execution " |
| 241 "speed.") | 237 "speed.") |
| 242 | 238 |
| 243 // Flags for data representation optimizations | 239 // Flags for data representation optimizations |
| 244 DEFINE_bool(unbox_double_arrays, true, "automatically unbox arrays of doubles") | 240 DEFINE_bool(unbox_double_arrays, true, "automatically unbox arrays of doubles") |
| 245 DEFINE_bool(string_slices, true, "use string slices") | 241 DEFINE_bool(string_slices, true, "use string slices") |
| 246 | 242 |
| 247 // Flags for Crankshaft. | 243 // Flags for Crankshaft. |
| 248 DEFINE_bool(crankshaft, true, "use crankshaft") | 244 DEFINE_bool(crankshaft, true, "use crankshaft") |
| 249 DEFINE_string(hydrogen_filter, "*", "optimization filter") | 245 DEFINE_string(hydrogen_filter, "*", "optimization filter") |
| 250 DEFINE_bool(use_range, true, "use hydrogen range analysis") | |
| 251 DEFINE_bool(use_gvn, true, "use hydrogen global value numbering") | 246 DEFINE_bool(use_gvn, true, "use hydrogen global value numbering") |
| 252 DEFINE_int(gvn_iterations, 3, "maximum number of GVN fix-point iterations") | 247 DEFINE_int(gvn_iterations, 3, "maximum number of GVN fix-point iterations") |
| 253 DEFINE_bool(use_canonicalizing, true, "use hydrogen instruction canonicalizing") | 248 DEFINE_bool(use_canonicalizing, true, "use hydrogen instruction canonicalizing") |
| 254 DEFINE_bool(use_inlining, true, "use function inlining") | 249 DEFINE_bool(use_inlining, true, "use function inlining") |
| 255 DEFINE_bool(use_escape_analysis, true, "use hydrogen escape analysis") | 250 DEFINE_bool(use_escape_analysis, true, "use hydrogen escape analysis") |
| 256 DEFINE_bool(use_allocation_folding, true, "use allocation folding") | 251 DEFINE_bool(use_allocation_folding, true, "use allocation folding") |
| 257 DEFINE_bool(use_local_allocation_folding, false, "only fold in basic blocks") | 252 DEFINE_bool(use_local_allocation_folding, false, "only fold in basic blocks") |
| 258 DEFINE_bool(use_write_barrier_elimination, true, | 253 DEFINE_bool(use_write_barrier_elimination, true, |
| 259 "eliminate write barriers targeting allocations in optimized code") | 254 "eliminate write barriers targeting allocations in optimized code") |
| 260 DEFINE_int(max_inlining_levels, 5, "maximum number of inlining levels") | 255 DEFINE_int(max_inlining_levels, 5, "maximum number of inlining levels") |
| (...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 646 | 641 |
| 647 // mksnapshot.cc | 642 // mksnapshot.cc |
| 648 DEFINE_string(extra_code, NULL, "A filename with extra code to be included in" | 643 DEFINE_string(extra_code, NULL, "A filename with extra code to be included in" |
| 649 " the snapshot (mksnapshot only)") | 644 " the snapshot (mksnapshot only)") |
| 650 | 645 |
| 651 // code-stubs-hydrogen.cc | 646 // code-stubs-hydrogen.cc |
| 652 DEFINE_bool(profile_hydrogen_code_stub_compilation, false, | 647 DEFINE_bool(profile_hydrogen_code_stub_compilation, false, |
| 653 "Print the time it takes to lazily compile hydrogen code stubs.") | 648 "Print the time it takes to lazily compile hydrogen code stubs.") |
| 654 | 649 |
| 655 DEFINE_bool(predictable, false, "enable predictable mode") | 650 DEFINE_bool(predictable, false, "enable predictable mode") |
| 656 DEFINE_neg_implication(predictable, randomize_hashes) | |
| 657 DEFINE_neg_implication(predictable, concurrent_recompilation) | 651 DEFINE_neg_implication(predictable, concurrent_recompilation) |
| 658 DEFINE_neg_implication(predictable, concurrent_osr) | 652 DEFINE_neg_implication(predictable, concurrent_osr) |
| 659 DEFINE_neg_implication(predictable, concurrent_sweeping) | 653 DEFINE_neg_implication(predictable, concurrent_sweeping) |
| 660 DEFINE_neg_implication(predictable, parallel_sweeping) | 654 DEFINE_neg_implication(predictable, parallel_sweeping) |
| 661 | 655 |
| 662 | 656 |
| 663 // | 657 // |
| 664 // Dev shell flags | 658 // Dev shell flags |
| 665 // | 659 // |
| 666 | 660 |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 890 #endif | 884 #endif |
| 891 #endif | 885 #endif |
| 892 | 886 |
| 893 // | 887 // |
| 894 // Read-only flags | 888 // Read-only flags |
| 895 // | 889 // |
| 896 #undef FLAG | 890 #undef FLAG |
| 897 #define FLAG FLAG_READONLY | 891 #define FLAG FLAG_READONLY |
| 898 | 892 |
| 899 // assembler-arm.h | 893 // assembler-arm.h |
| 900 DEFINE_bool(enable_ool_constant_pool, false, | 894 DEFINE_bool(enable_ool_constant_pool, V8_OOL_CONSTANT_POOL, |
| 901 "enable use of out-of-line constant pools (ARM only)") | 895 "enable use of out-of-line constant pools (ARM only)") |
| 902 | 896 |
| 903 // Cleanup... | 897 // Cleanup... |
| 904 #undef FLAG_FULL | 898 #undef FLAG_FULL |
| 905 #undef FLAG_READONLY | 899 #undef FLAG_READONLY |
| 906 #undef FLAG | 900 #undef FLAG |
| 907 #undef FLAG_ALIAS | 901 #undef FLAG_ALIAS |
| 908 | 902 |
| 909 #undef DEFINE_bool | 903 #undef DEFINE_bool |
| 910 #undef DEFINE_maybe_bool | 904 #undef DEFINE_maybe_bool |
| 911 #undef DEFINE_int | 905 #undef DEFINE_int |
| 912 #undef DEFINE_string | 906 #undef DEFINE_string |
| 913 #undef DEFINE_float | 907 #undef DEFINE_float |
| 914 #undef DEFINE_args | 908 #undef DEFINE_args |
| 915 #undef DEFINE_implication | 909 #undef DEFINE_implication |
| 916 #undef DEFINE_neg_implication | 910 #undef DEFINE_neg_implication |
| 917 #undef DEFINE_ALIAS_bool | 911 #undef DEFINE_ALIAS_bool |
| 918 #undef DEFINE_ALIAS_int | 912 #undef DEFINE_ALIAS_int |
| 919 #undef DEFINE_ALIAS_string | 913 #undef DEFINE_ALIAS_string |
| 920 #undef DEFINE_ALIAS_float | 914 #undef DEFINE_ALIAS_float |
| 921 #undef DEFINE_ALIAS_args | 915 #undef DEFINE_ALIAS_args |
| 922 | 916 |
| 923 #undef FLAG_MODE_DECLARE | 917 #undef FLAG_MODE_DECLARE |
| 924 #undef FLAG_MODE_DEFINE | 918 #undef FLAG_MODE_DEFINE |
| 925 #undef FLAG_MODE_DEFINE_DEFAULTS | 919 #undef FLAG_MODE_DEFINE_DEFAULTS |
| 926 #undef FLAG_MODE_META | 920 #undef FLAG_MODE_META |
| 927 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 921 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
| 928 | 922 |
| 929 #undef COMMA | 923 #undef COMMA |
| OLD | NEW |