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 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 #define FLAG FLAG_FULL | 148 #define FLAG FLAG_FULL |
149 | 149 |
150 // Flags for language modes and experimental language features. | 150 // Flags for language modes and experimental language features. |
151 DEFINE_bool(use_strict, false, "enforce strict mode") | 151 DEFINE_bool(use_strict, false, "enforce strict mode") |
152 DEFINE_bool(es_staging, false, "enable upcoming ES6+ features") | 152 DEFINE_bool(es_staging, false, "enable upcoming ES6+ features") |
153 | 153 |
154 DEFINE_bool(harmony_typeof, false, "enable harmony semantics for typeof") | 154 DEFINE_bool(harmony_typeof, false, "enable harmony semantics for typeof") |
155 DEFINE_bool(harmony_scoping, false, "enable harmony block scoping") | 155 DEFINE_bool(harmony_scoping, false, "enable harmony block scoping") |
156 DEFINE_bool(harmony_modules, false, | 156 DEFINE_bool(harmony_modules, false, |
157 "enable harmony modules (implies block scoping)") | 157 "enable harmony modules (implies block scoping)") |
158 DEFINE_bool(harmony_symbols, false, | 158 DEFINE_bool(harmony_symbols, false, "enable harmony symbols") |
159 "enable harmony symbols (a.k.a. private names)") | |
160 DEFINE_bool(harmony_proxies, false, "enable harmony proxies") | 159 DEFINE_bool(harmony_proxies, false, "enable harmony proxies") |
161 DEFINE_bool(harmony_collections, false, | 160 DEFINE_bool(harmony_collections, false, |
162 "enable harmony collections (sets, maps)") | 161 "enable harmony collections (sets, maps)") |
163 DEFINE_bool(harmony_generators, false, "enable harmony generators") | 162 DEFINE_bool(harmony_generators, false, "enable harmony generators") |
164 DEFINE_bool(harmony_iteration, false, "enable harmony iteration (for-of)") | 163 DEFINE_bool(harmony_iteration, false, "enable harmony iteration (for-of)") |
165 DEFINE_bool(harmony_numeric_literals, false, | 164 DEFINE_bool(harmony_numeric_literals, false, |
166 "enable harmony numeric literals (0o77, 0b11)") | 165 "enable harmony numeric literals (0o77, 0b11)") |
167 DEFINE_bool(harmony_strings, false, "enable harmony string") | 166 DEFINE_bool(harmony_strings, false, "enable harmony string") |
168 DEFINE_bool(harmony_arrays, false, "enable harmony arrays") | 167 DEFINE_bool(harmony_arrays, false, "enable harmony arrays") |
169 DEFINE_bool(harmony_maths, false, "enable harmony math functions") | 168 DEFINE_bool(harmony_maths, false, "enable harmony math functions") |
170 DEFINE_bool(harmony_promises, true, "(dummy flag, has no effect)") | 169 DEFINE_bool(harmony_promises, true, "(dummy flag, has no effect)") |
171 DEFINE_bool(harmony, false, "enable all harmony features (except typeof)") | 170 DEFINE_bool(harmony, false, "enable all harmony features (except typeof)") |
172 | 171 |
173 DEFINE_implication(harmony, harmony_scoping) | 172 DEFINE_implication(harmony, harmony_scoping) |
174 DEFINE_implication(harmony, harmony_modules) | 173 DEFINE_implication(harmony, harmony_modules) |
175 DEFINE_implication(harmony, harmony_symbols) | |
176 DEFINE_implication(harmony, harmony_proxies) | 174 DEFINE_implication(harmony, harmony_proxies) |
177 DEFINE_implication(harmony, harmony_collections) | 175 DEFINE_implication(harmony, harmony_collections) |
178 DEFINE_implication(harmony, harmony_generators) | 176 DEFINE_implication(harmony, harmony_generators) |
179 DEFINE_implication(harmony, harmony_iteration) | 177 DEFINE_implication(harmony, harmony_iteration) |
180 DEFINE_implication(harmony, harmony_numeric_literals) | 178 DEFINE_implication(harmony, harmony_numeric_literals) |
181 DEFINE_implication(harmony, harmony_strings) | 179 DEFINE_implication(harmony, harmony_strings) |
182 DEFINE_implication(harmony, harmony_arrays) | 180 DEFINE_implication(harmony, harmony_arrays) |
183 DEFINE_implication(harmony_modules, harmony_scoping) | 181 DEFINE_implication(harmony_modules, harmony_scoping) |
184 | 182 |
185 DEFINE_implication(harmony, es_staging) | 183 DEFINE_implication(harmony, es_staging) |
186 DEFINE_implication(es_staging, harmony_maths) | 184 DEFINE_implication(es_staging, harmony_maths) |
| 185 DEFINE_implication(es_staging, harmony_symbols) |
187 | 186 |
188 // Flags for experimental implementation features. | 187 // Flags for experimental implementation features. |
189 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") | 188 DEFINE_bool(packed_arrays, true, "optimizes arrays that have no holes") |
190 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") | 189 DEFINE_bool(smi_only_arrays, true, "tracks arrays with only smi values") |
191 DEFINE_bool(compiled_keyed_dictionary_loads, true, | 190 DEFINE_bool(compiled_keyed_dictionary_loads, true, |
192 "use optimizing compiler to generate keyed dictionary load stubs") | 191 "use optimizing compiler to generate keyed dictionary load stubs") |
193 DEFINE_bool(clever_optimizations, true, | 192 DEFINE_bool(clever_optimizations, true, |
194 "Optimize object size, Array shift, DOM strings and string +") | 193 "Optimize object size, Array shift, DOM strings and string +") |
195 DEFINE_bool(pretenuring, true, "allocate objects in old space") | 194 DEFINE_bool(pretenuring, true, "allocate objects in old space") |
196 // TODO(hpayer): We will remove this flag as soon as we have pretenuring | 195 // TODO(hpayer): We will remove this flag as soon as we have pretenuring |
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
893 #undef DEFINE_ALIAS_float | 892 #undef DEFINE_ALIAS_float |
894 #undef DEFINE_ALIAS_args | 893 #undef DEFINE_ALIAS_args |
895 | 894 |
896 #undef FLAG_MODE_DECLARE | 895 #undef FLAG_MODE_DECLARE |
897 #undef FLAG_MODE_DEFINE | 896 #undef FLAG_MODE_DEFINE |
898 #undef FLAG_MODE_DEFINE_DEFAULTS | 897 #undef FLAG_MODE_DEFINE_DEFAULTS |
899 #undef FLAG_MODE_META | 898 #undef FLAG_MODE_META |
900 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 899 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
901 | 900 |
902 #undef COMMA | 901 #undef COMMA |
OLD | NEW |