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 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 "enable test-worthy harmony features (for internal use only)") | 183 "enable test-worthy harmony features (for internal use only)") |
184 DEFINE_BOOL(harmony, false, "enable all completed harmony features") | 184 DEFINE_BOOL(harmony, false, "enable all completed harmony features") |
185 DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony features") | 185 DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony features") |
186 DEFINE_IMPLICATION(es_staging, harmony) | 186 DEFINE_IMPLICATION(es_staging, harmony) |
187 | 187 |
188 DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode") | 188 DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode") |
189 // ES2015 const semantics are staged | 189 // ES2015 const semantics are staged |
190 DEFINE_NEG_IMPLICATION(harmony, legacy_const) | 190 DEFINE_NEG_IMPLICATION(harmony, legacy_const) |
191 | 191 |
192 // Activate on ClusterFuzz. | 192 // Activate on ClusterFuzz. |
193 DEFINE_IMPLICATION(es_staging, harmony_destructuring) | 193 DEFINE_IMPLICATION(es_staging, harmony_destructuring_bind) |
194 | 194 |
195 // Features that are still work in progress (behind individual flags). | 195 // Features that are still work in progress (behind individual flags). |
196 #define HARMONY_INPROGRESS(V) \ | 196 #define HARMONY_INPROGRESS(V) \ |
197 V(harmony_modules, "harmony modules") \ | 197 V(harmony_modules, "harmony modules") \ |
198 V(harmony_proxies, "harmony proxies") \ | 198 V(harmony_proxies, "harmony proxies") \ |
199 V(harmony_unicode_regexps, "harmony unicode regexps") \ | 199 V(harmony_unicode_regexps, "harmony unicode regexps") \ |
200 V(harmony_reflect, "harmony Reflect API") \ | 200 V(harmony_reflect, "harmony Reflect API") \ |
201 V(harmony_sloppy_function, "harmony sloppy function block scoping") \ | 201 V(harmony_sloppy_function, "harmony sloppy function block scoping") \ |
202 V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \ | 202 V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \ |
203 V(harmony_simd, "harmony simd") \ | 203 V(harmony_simd, "harmony simd") \ |
204 V(harmony_do_expressions, "harmony do-expressions") \ | 204 V(harmony_do_expressions, "harmony do-expressions") \ |
205 V(harmony_regexp_subclass, "harmony regexp subclassing") | 205 V(harmony_regexp_subclass, "harmony regexp subclassing") |
206 | 206 |
207 // Features that are complete (but still behind --harmony/es-staging flag). | 207 // Features that are complete (but still behind --harmony/es-staging flag). |
208 #define HARMONY_STAGED(V) \ | 208 #define HARMONY_STAGED(V) \ |
209 V(harmony_destructuring, "harmony destructuring") \ | 209 V(harmony_destructuring_bind, "harmony destructuring") \ |
210 V(harmony_regexps, "harmony regular expression extensions") \ | 210 V(harmony_regexps, "harmony regular expression extensions") \ |
211 V(harmony_sloppy, "harmony features in sloppy mode") \ | 211 V(harmony_sloppy, "harmony features in sloppy mode") \ |
212 V(harmony_sloppy_let, "harmony let in sloppy mode") | 212 V(harmony_sloppy_let, "harmony let in sloppy mode") |
213 | 213 |
214 // Features that are shipping (turned on by default, but internal flag remains). | 214 // Features that are shipping (turned on by default, but internal flag remains). |
215 #define HARMONY_SHIPPING(V) \ | 215 #define HARMONY_SHIPPING(V) \ |
216 V(harmony_array_includes, "harmony Array.prototype.includes") \ | 216 V(harmony_array_includes, "harmony Array.prototype.includes") \ |
217 V(harmony_default_parameters, "harmony default parameters") \ | 217 V(harmony_default_parameters, "harmony default parameters") \ |
218 V(harmony_object_observe, "harmony Object.observe") \ | 218 V(harmony_object_observe, "harmony Object.observe") \ |
219 V(harmony_rest_parameters, "harmony rest parameters") \ | 219 V(harmony_rest_parameters, "harmony rest parameters") \ |
(...skipping 25 matching lines...) Expand all Loading... |
245 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) | 245 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) |
246 #undef FLAG_SHIPPING_FEATURES | 246 #undef FLAG_SHIPPING_FEATURES |
247 | 247 |
248 | 248 |
249 // Feature dependencies. | 249 // Feature dependencies. |
250 DEFINE_IMPLICATION(harmony_sloppy_let, harmony_sloppy) | 250 DEFINE_IMPLICATION(harmony_sloppy_let, harmony_sloppy) |
251 DEFINE_IMPLICATION(harmony_sloppy_function, harmony_sloppy) | 251 DEFINE_IMPLICATION(harmony_sloppy_function, harmony_sloppy) |
252 | 252 |
253 // Destructuring shares too much parsing architecture with default parameters | 253 // Destructuring shares too much parsing architecture with default parameters |
254 // to be enabled on its own. | 254 // to be enabled on its own. |
255 DEFINE_IMPLICATION(harmony_destructuring, harmony_default_parameters) | 255 DEFINE_IMPLICATION(harmony_destructuring_bind, harmony_default_parameters) |
256 | 256 |
257 // Flags for experimental implementation features. | 257 // Flags for experimental implementation features. |
258 DEFINE_BOOL(compiled_keyed_generic_loads, false, | 258 DEFINE_BOOL(compiled_keyed_generic_loads, false, |
259 "use optimizing compiler to generate keyed generic load stubs") | 259 "use optimizing compiler to generate keyed generic load stubs") |
260 DEFINE_BOOL(allocation_site_pretenuring, true, | 260 DEFINE_BOOL(allocation_site_pretenuring, true, |
261 "pretenure with allocation sites") | 261 "pretenure with allocation sites") |
262 DEFINE_BOOL(trace_pretenuring, false, | 262 DEFINE_BOOL(trace_pretenuring, false, |
263 "trace pretenuring decisions of HAllocate instructions") | 263 "trace pretenuring decisions of HAllocate instructions") |
264 DEFINE_BOOL(trace_pretenuring_statistics, false, | 264 DEFINE_BOOL(trace_pretenuring_statistics, false, |
265 "trace allocation site pretenuring statistics") | 265 "trace allocation site pretenuring statistics") |
(...skipping 854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1120 #undef DEFINE_ALIAS_FLOAT | 1120 #undef DEFINE_ALIAS_FLOAT |
1121 #undef DEFINE_ALIAS_ARGS | 1121 #undef DEFINE_ALIAS_ARGS |
1122 | 1122 |
1123 #undef FLAG_MODE_DECLARE | 1123 #undef FLAG_MODE_DECLARE |
1124 #undef FLAG_MODE_DEFINE | 1124 #undef FLAG_MODE_DEFINE |
1125 #undef FLAG_MODE_DEFINE_DEFAULTS | 1125 #undef FLAG_MODE_DEFINE_DEFAULTS |
1126 #undef FLAG_MODE_META | 1126 #undef FLAG_MODE_META |
1127 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 1127 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
1128 | 1128 |
1129 #undef COMMA | 1129 #undef COMMA |
OLD | NEW |