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 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 // | 150 // |
151 // Flags in all modes. | 151 // Flags in all modes. |
152 // | 152 // |
153 #define FLAG FLAG_FULL | 153 #define FLAG FLAG_FULL |
154 | 154 |
155 // Flags for language modes and experimental language features. | 155 // Flags for language modes and experimental language features. |
156 DEFINE_BOOL(use_strict, false, "enforce strict mode") | 156 DEFINE_BOOL(use_strict, false, "enforce strict mode") |
157 | 157 |
158 DEFINE_BOOL(es_staging, false, "enable all completed harmony features") | 158 DEFINE_BOOL(es_staging, false, "enable all completed harmony features") |
159 DEFINE_BOOL(harmony, false, "enable all completed harmony features") | 159 DEFINE_BOOL(harmony, false, "enable all completed harmony features") |
| 160 DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony fetaures") |
160 DEFINE_IMPLICATION(harmony, es_staging) | 161 DEFINE_IMPLICATION(harmony, es_staging) |
161 DEFINE_IMPLICATION(es_staging, harmony) | 162 DEFINE_IMPLICATION(es_staging, harmony) |
162 | 163 |
163 // Features that are still work in progress (behind individual flags). | 164 // Features that are still work in progress (behind individual flags). |
164 #define HARMONY_INPROGRESS(V) \ | 165 #define HARMONY_INPROGRESS(V) \ |
165 V(harmony_modules, "harmony modules (implies block scoping)") \ | 166 V(harmony_modules, "harmony modules (implies block scoping)") \ |
166 V(harmony_arrays, "harmony array methods") \ | 167 V(harmony_arrays, "harmony array methods") \ |
167 V(harmony_classes, \ | 168 V(harmony_classes, \ |
168 "harmony classes (implies block scoping & object literal extension)") \ | 169 "harmony classes (implies block scoping & object literal extension)") \ |
169 V(harmony_object_literals, "harmony object literal extensions") \ | 170 V(harmony_object_literals, "harmony object literal extensions") \ |
(...skipping 23 matching lines...) Expand all Loading... |
193 DEFINE_BOOL(id, false, "enable " #description " (in progress)") | 194 DEFINE_BOOL(id, false, "enable " #description " (in progress)") |
194 HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES) | 195 HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES) |
195 #undef FLAG_INPROGRESS_FEATURES | 196 #undef FLAG_INPROGRESS_FEATURES |
196 | 197 |
197 #define FLAG_STAGED_FEATURES(id, description) \ | 198 #define FLAG_STAGED_FEATURES(id, description) \ |
198 DEFINE_BOOL(id, false, "enable " #description) \ | 199 DEFINE_BOOL(id, false, "enable " #description) \ |
199 DEFINE_IMPLICATION(es_staging, id) | 200 DEFINE_IMPLICATION(es_staging, id) |
200 HARMONY_STAGED(FLAG_STAGED_FEATURES) | 201 HARMONY_STAGED(FLAG_STAGED_FEATURES) |
201 #undef FLAG_STAGED_FEATURES | 202 #undef FLAG_STAGED_FEATURES |
202 | 203 |
203 #define FLAG_SHIPPING_FEATURES(id, description) \ | 204 #define FLAG_SHIPPING_FEATURES(id, description) \ |
204 DEFINE_BOOL_READONLY(id, true, "enable " #description) | 205 DEFINE_BOOL(id, false, "enable " #description) \ |
| 206 DEFINE_IMPLICATION(harmony_shipping, id) |
205 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) | 207 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) |
206 #undef FLAG_SHIPPING_FEATURES | 208 #undef FLAG_SHIPPING_FEATURES |
207 | 209 |
208 | 210 |
209 // Feature dependencies. | 211 // Feature dependencies. |
210 DEFINE_IMPLICATION(harmony_modules, harmony_scoping) | 212 DEFINE_IMPLICATION(harmony_modules, harmony_scoping) |
211 DEFINE_IMPLICATION(harmony_classes, harmony_scoping) | 213 DEFINE_IMPLICATION(harmony_classes, harmony_scoping) |
212 DEFINE_IMPLICATION(harmony_classes, harmony_object_literals) | 214 DEFINE_IMPLICATION(harmony_classes, harmony_object_literals) |
213 | 215 |
214 | 216 |
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
989 #undef DEFINE_ALIAS_FLOAT | 991 #undef DEFINE_ALIAS_FLOAT |
990 #undef DEFINE_ALIAS_ARGS | 992 #undef DEFINE_ALIAS_ARGS |
991 | 993 |
992 #undef FLAG_MODE_DECLARE | 994 #undef FLAG_MODE_DECLARE |
993 #undef FLAG_MODE_DEFINE | 995 #undef FLAG_MODE_DEFINE |
994 #undef FLAG_MODE_DEFINE_DEFAULTS | 996 #undef FLAG_MODE_DEFINE_DEFAULTS |
995 #undef FLAG_MODE_META | 997 #undef FLAG_MODE_META |
996 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 998 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
997 | 999 |
998 #undef COMMA | 1000 #undef COMMA |
OLD | NEW |