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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 V(harmony_rest_parameters, "harmony rest parameters") | 206 V(harmony_rest_parameters, "harmony rest parameters") |
207 | 207 |
208 // Features that are shipping (turned on by default, but internal flag remains). | 208 // Features that are shipping (turned on by default, but internal flag remains). |
209 #define HARMONY_SHIPPING(V) \ | 209 #define HARMONY_SHIPPING(V) \ |
210 V(harmony_arrow_functions, "harmony arrow functions") \ | 210 V(harmony_arrow_functions, "harmony arrow functions") \ |
211 V(harmony_computed_property_names, "harmony computed property names") \ | 211 V(harmony_computed_property_names, "harmony computed property names") \ |
212 V(harmony_new_target, "harmony new.target") \ | 212 V(harmony_new_target, "harmony new.target") \ |
213 V(harmony_object_observe, "harmony Object.observe") \ | 213 V(harmony_object_observe, "harmony Object.observe") \ |
214 V(harmony_spreadcalls, "harmony spread-calls") \ | 214 V(harmony_spreadcalls, "harmony spread-calls") \ |
215 V(harmony_spread_arrays, "harmony spread in array literals") \ | 215 V(harmony_spread_arrays, "harmony spread in array literals") \ |
216 V(harmony_unicode, "harmony unicode escapes") \ | |
217 V(harmony_object, "harmony Object methods") | 216 V(harmony_object, "harmony Object methods") |
218 | 217 |
219 // Once a shipping feature has proved stable in the wild, it will be dropped | 218 // Once a shipping feature has proved stable in the wild, it will be dropped |
220 // from HARMONY_SHIPPING, all occurrences of the FLAG_ variable are removed, | 219 // from HARMONY_SHIPPING, all occurrences of the FLAG_ variable are removed, |
221 // and associated tests are moved from the harmony directory to the appropriate | 220 // and associated tests are moved from the harmony directory to the appropriate |
222 // esN directory. | 221 // esN directory. |
223 | 222 |
224 | 223 |
225 #define FLAG_INPROGRESS_FEATURES(id, description) \ | 224 #define FLAG_INPROGRESS_FEATURES(id, description) \ |
226 DEFINE_BOOL(id, false, "enable " #description " (in progress)") | 225 DEFINE_BOOL(id, false, "enable " #description " (in progress)") |
227 HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES) | 226 HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES) |
228 #undef FLAG_INPROGRESS_FEATURES | 227 #undef FLAG_INPROGRESS_FEATURES |
229 | 228 |
230 #define FLAG_STAGED_FEATURES(id, description) \ | 229 #define FLAG_STAGED_FEATURES(id, description) \ |
231 DEFINE_BOOL(id, false, "enable " #description) \ | 230 DEFINE_BOOL(id, false, "enable " #description) \ |
232 DEFINE_IMPLICATION(es_staging, id) | 231 DEFINE_IMPLICATION(es_staging, id) |
233 HARMONY_STAGED(FLAG_STAGED_FEATURES) | 232 HARMONY_STAGED(FLAG_STAGED_FEATURES) |
234 #undef FLAG_STAGED_FEATURES | 233 #undef FLAG_STAGED_FEATURES |
235 | 234 |
236 #define FLAG_SHIPPING_FEATURES(id, description) \ | 235 #define FLAG_SHIPPING_FEATURES(id, description) \ |
237 DEFINE_BOOL(id, true, "enable " #description) \ | 236 DEFINE_BOOL(id, true, "enable " #description) \ |
238 DEFINE_NEG_NEG_IMPLICATION(harmony_shipping, id) | 237 DEFINE_NEG_NEG_IMPLICATION(harmony_shipping, id) |
239 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) | 238 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) |
240 #undef FLAG_SHIPPING_FEATURES | 239 #undef FLAG_SHIPPING_FEATURES |
241 | 240 |
242 | 241 |
243 // Feature dependencies. | 242 // Feature dependencies. |
244 DEFINE_IMPLICATION(harmony_unicode_regexps, harmony_unicode) | |
245 DEFINE_IMPLICATION(harmony_sloppy_let, harmony_sloppy) | 243 DEFINE_IMPLICATION(harmony_sloppy_let, harmony_sloppy) |
246 | 244 |
247 | 245 |
248 // Flags for experimental implementation features. | 246 // Flags for experimental implementation features. |
249 DEFINE_BOOL(compiled_keyed_generic_loads, false, | 247 DEFINE_BOOL(compiled_keyed_generic_loads, false, |
250 "use optimizing compiler to generate keyed generic load stubs") | 248 "use optimizing compiler to generate keyed generic load stubs") |
251 // TODO(hpayer): We will remove this flag as soon as we have pretenuring | 249 // TODO(hpayer): We will remove this flag as soon as we have pretenuring |
252 // support for specific allocation sites. | 250 // support for specific allocation sites. |
253 DEFINE_BOOL(pretenuring_call_new, false, "pretenure call new") | 251 DEFINE_BOOL(pretenuring_call_new, false, "pretenure call new") |
254 DEFINE_BOOL(allocation_site_pretenuring, true, | 252 DEFINE_BOOL(allocation_site_pretenuring, true, |
(...skipping 822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1077 #undef DEFINE_ALIAS_FLOAT | 1075 #undef DEFINE_ALIAS_FLOAT |
1078 #undef DEFINE_ALIAS_ARGS | 1076 #undef DEFINE_ALIAS_ARGS |
1079 | 1077 |
1080 #undef FLAG_MODE_DECLARE | 1078 #undef FLAG_MODE_DECLARE |
1081 #undef FLAG_MODE_DEFINE | 1079 #undef FLAG_MODE_DEFINE |
1082 #undef FLAG_MODE_DEFINE_DEFAULTS | 1080 #undef FLAG_MODE_DEFINE_DEFAULTS |
1083 #undef FLAG_MODE_META | 1081 #undef FLAG_MODE_META |
1084 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 1082 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
1085 | 1083 |
1086 #undef COMMA | 1084 #undef COMMA |
OLD | NEW |