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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 // Flags for language modes and experimental language features. | 170 // Flags for language modes and experimental language features. |
171 DEFINE_BOOL(use_strict, false, "enforce strict mode") | 171 DEFINE_BOOL(use_strict, false, "enforce strict mode") |
172 | 172 |
173 DEFINE_BOOL(es_staging, false, "enable all completed harmony features") | 173 DEFINE_BOOL(es_staging, false, "enable all completed harmony features") |
174 DEFINE_BOOL(harmony, false, "enable all completed harmony features") | 174 DEFINE_BOOL(harmony, false, "enable all completed harmony features") |
175 DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony fetaures") | 175 DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony fetaures") |
176 DEFINE_IMPLICATION(harmony, es_staging) | 176 DEFINE_IMPLICATION(harmony, es_staging) |
177 DEFINE_IMPLICATION(es_staging, harmony) | 177 DEFINE_IMPLICATION(es_staging, harmony) |
178 | 178 |
179 // Features that are still work in progress (behind individual flags). | 179 // Features that are still work in progress (behind individual flags). |
180 #define HARMONY_INPROGRESS(V) \ | 180 #define HARMONY_INPROGRESS(V) \ |
181 V(harmony_modules, "harmony modules (implies block scoping)") \ | 181 V(harmony_modules, "harmony modules (implies block scoping)") \ |
182 V(harmony_arrays, "harmony array methods") \ | 182 V(harmony_arrays, "harmony array methods") \ |
183 V(harmony_array_includes, "harmony Array.prototype.includes") \ | 183 V(harmony_array_includes, "harmony Array.prototype.includes") \ |
184 V(harmony_regexps, "harmony regular expression extensions") \ | 184 V(harmony_regexps, "harmony regular expression extensions") \ |
185 V(harmony_arrow_functions, "harmony arrow functions") \ | 185 V(harmony_arrow_functions, "harmony arrow functions") \ |
186 V(harmony_proxies, "harmony proxies") \ | 186 V(harmony_proxies, "harmony proxies") \ |
187 V(harmony_sloppy, "harmony features in sloppy mode") \ | 187 V(harmony_sloppy, "harmony features in sloppy mode") \ |
188 V(harmony_unicode, "harmony unicode escapes") \ | 188 V(harmony_unicode, "harmony unicode escapes") \ |
| 189 V(harmony_unicode_regexps, "harmony unicode regexps") \ |
189 V(harmony_computed_property_names, "harmony computed property names") \ | 190 V(harmony_computed_property_names, "harmony computed property names") \ |
190 V(harmony_rest_parameters, "harmony rest parameters") | 191 V(harmony_rest_parameters, "harmony rest parameters") |
191 | 192 |
192 // Features that are complete (but still behind --harmony/es-staging flag). | 193 // Features that are complete (but still behind --harmony/es-staging flag). |
193 #define HARMONY_STAGED(V) \ | 194 #define HARMONY_STAGED(V) \ |
194 V(harmony_tostring, "harmony toString") \ | 195 V(harmony_tostring, "harmony toString") \ |
195 V(harmony_classes, \ | 196 V(harmony_classes, \ |
196 "harmony classes (implies block scoping & object literal extension)") \ | 197 "harmony classes (implies block scoping & object literal extension)") \ |
197 V(harmony_object_literals, "harmony object literal extensions") | 198 V(harmony_object_literals, "harmony object literal extensions") |
198 | 199 |
(...skipping 25 matching lines...) Expand all Loading... |
224 DEFINE_BOOL(id, true, "enable " #description) \ | 225 DEFINE_BOOL(id, true, "enable " #description) \ |
225 DEFINE_NEG_NEG_IMPLICATION(harmony_shipping, id) | 226 DEFINE_NEG_NEG_IMPLICATION(harmony_shipping, id) |
226 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) | 227 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) |
227 #undef FLAG_SHIPPING_FEATURES | 228 #undef FLAG_SHIPPING_FEATURES |
228 | 229 |
229 | 230 |
230 // Feature dependencies. | 231 // Feature dependencies. |
231 DEFINE_IMPLICATION(harmony_modules, harmony_scoping) | 232 DEFINE_IMPLICATION(harmony_modules, harmony_scoping) |
232 DEFINE_IMPLICATION(harmony_classes, harmony_scoping) | 233 DEFINE_IMPLICATION(harmony_classes, harmony_scoping) |
233 DEFINE_IMPLICATION(harmony_classes, harmony_object_literals) | 234 DEFINE_IMPLICATION(harmony_classes, harmony_object_literals) |
| 235 DEFINE_IMPLICATION(harmony_unicode_regexps, harmony_unicode) |
234 | 236 |
235 | 237 |
236 // Flags for experimental implementation features. | 238 // Flags for experimental implementation features. |
237 DEFINE_BOOL(compiled_keyed_generic_loads, false, | 239 DEFINE_BOOL(compiled_keyed_generic_loads, false, |
238 "use optimizing compiler to generate keyed generic load stubs") | 240 "use optimizing compiler to generate keyed generic load stubs") |
239 // TODO(hpayer): We will remove this flag as soon as we have pretenuring | 241 // TODO(hpayer): We will remove this flag as soon as we have pretenuring |
240 // support for specific allocation sites. | 242 // support for specific allocation sites. |
241 DEFINE_BOOL(pretenuring_call_new, false, "pretenure call new") | 243 DEFINE_BOOL(pretenuring_call_new, false, "pretenure call new") |
242 DEFINE_BOOL(allocation_site_pretenuring, true, | 244 DEFINE_BOOL(allocation_site_pretenuring, true, |
243 "pretenure with allocation sites") | 245 "pretenure with allocation sites") |
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1014 #undef DEFINE_ALIAS_FLOAT | 1016 #undef DEFINE_ALIAS_FLOAT |
1015 #undef DEFINE_ALIAS_ARGS | 1017 #undef DEFINE_ALIAS_ARGS |
1016 | 1018 |
1017 #undef FLAG_MODE_DECLARE | 1019 #undef FLAG_MODE_DECLARE |
1018 #undef FLAG_MODE_DEFINE | 1020 #undef FLAG_MODE_DEFINE |
1019 #undef FLAG_MODE_DEFINE_DEFAULTS | 1021 #undef FLAG_MODE_DEFINE_DEFAULTS |
1020 #undef FLAG_MODE_META | 1022 #undef FLAG_MODE_META |
1021 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 1023 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
1022 | 1024 |
1023 #undef COMMA | 1025 #undef COMMA |
OLD | NEW |