| 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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 FLAG_ALIAS(STRING, const char*, alias, nam) | 162 FLAG_ALIAS(STRING, const char*, alias, nam) |
| 163 #define DEFINE_ALIAS_ARGS(alias, nam) FLAG_ALIAS(ARGS, JSArguments, alias, nam) | 163 #define DEFINE_ALIAS_ARGS(alias, nam) FLAG_ALIAS(ARGS, JSArguments, alias, nam) |
| 164 | 164 |
| 165 // | 165 // |
| 166 // Flags in all modes. | 166 // Flags in all modes. |
| 167 // | 167 // |
| 168 #define FLAG FLAG_FULL | 168 #define FLAG FLAG_FULL |
| 169 | 169 |
| 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 DEFINE_BOOL(use_strong, false, "enforce strong mode") |
| 173 DEFINE_IMPLICATION(use_strong, use_strict) |
| 174 |
| 175 DEFINE_BOOL(strong_mode, false, "experimental strong language mode") |
| 176 DEFINE_IMPLICATION(use_strong, strong_mode) |
| 172 | 177 |
| 173 DEFINE_BOOL(es_staging, false, "enable all completed harmony features") | 178 DEFINE_BOOL(es_staging, false, "enable all completed harmony features") |
| 174 DEFINE_BOOL(harmony, false, "enable all completed harmony features") | 179 DEFINE_BOOL(harmony, false, "enable all completed harmony features") |
| 175 DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony fetaures") | 180 DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony fetaures") |
| 176 DEFINE_IMPLICATION(harmony, es_staging) | 181 DEFINE_IMPLICATION(harmony, es_staging) |
| 177 DEFINE_IMPLICATION(es_staging, harmony) | 182 DEFINE_IMPLICATION(es_staging, harmony) |
| 178 | 183 |
| 179 // Features that are still work in progress (behind individual flags). | 184 // Features that are still work in progress (behind individual flags). |
| 180 #define HARMONY_INPROGRESS(V) \ | 185 #define HARMONY_INPROGRESS(V) \ |
| 181 V(harmony_modules, "harmony modules (implies block scoping)") \ | 186 V(harmony_modules, "harmony modules (implies block scoping)") \ |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 DEFINE_IMPLICATION(track_double_fields, track_fields) | 259 DEFINE_IMPLICATION(track_double_fields, track_fields) |
| 255 DEFINE_IMPLICATION(track_heap_object_fields, track_fields) | 260 DEFINE_IMPLICATION(track_heap_object_fields, track_fields) |
| 256 DEFINE_IMPLICATION(track_computed_fields, track_fields) | 261 DEFINE_IMPLICATION(track_computed_fields, track_fields) |
| 257 DEFINE_BOOL(track_field_types, true, "track field types") | 262 DEFINE_BOOL(track_field_types, true, "track field types") |
| 258 DEFINE_IMPLICATION(track_field_types, track_fields) | 263 DEFINE_IMPLICATION(track_field_types, track_fields) |
| 259 DEFINE_IMPLICATION(track_field_types, track_heap_object_fields) | 264 DEFINE_IMPLICATION(track_field_types, track_heap_object_fields) |
| 260 DEFINE_BOOL(smi_binop, true, "support smi representation in binary operations") | 265 DEFINE_BOOL(smi_binop, true, "support smi representation in binary operations") |
| 261 DEFINE_BOOL(vector_ics, false, "support vector-based ics") | 266 DEFINE_BOOL(vector_ics, false, "support vector-based ics") |
| 262 DEFINE_BOOL(experimental_classes, false, | 267 DEFINE_BOOL(experimental_classes, false, |
| 263 "experimental new semantics for super() calls") | 268 "experimental new semantics for super() calls") |
| 264 DEFINE_BOOL(strong_mode, false, "experimental strong language mode") | |
| 265 DEFINE_IMPLICATION(experimental_classes, harmony_classes) | 269 DEFINE_IMPLICATION(experimental_classes, harmony_classes) |
| 266 DEFINE_IMPLICATION(experimental_classes, harmony_object_literals) | 270 DEFINE_IMPLICATION(experimental_classes, harmony_object_literals) |
| 267 | 271 |
| 268 // Flags for optimization types. | 272 // Flags for optimization types. |
| 269 DEFINE_BOOL(optimize_for_size, false, | 273 DEFINE_BOOL(optimize_for_size, false, |
| 270 "Enables optimizations which favor memory size over execution " | 274 "Enables optimizations which favor memory size over execution " |
| 271 "speed.") | 275 "speed.") |
| 272 | 276 |
| 273 DEFINE_VALUE_IMPLICATION(optimize_for_size, max_semi_space_size, 1) | 277 DEFINE_VALUE_IMPLICATION(optimize_for_size, max_semi_space_size, 1) |
| 274 | 278 |
| (...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1021 #undef DEFINE_ALIAS_FLOAT | 1025 #undef DEFINE_ALIAS_FLOAT |
| 1022 #undef DEFINE_ALIAS_ARGS | 1026 #undef DEFINE_ALIAS_ARGS |
| 1023 | 1027 |
| 1024 #undef FLAG_MODE_DECLARE | 1028 #undef FLAG_MODE_DECLARE |
| 1025 #undef FLAG_MODE_DEFINE | 1029 #undef FLAG_MODE_DEFINE |
| 1026 #undef FLAG_MODE_DEFINE_DEFAULTS | 1030 #undef FLAG_MODE_DEFINE_DEFAULTS |
| 1027 #undef FLAG_MODE_META | 1031 #undef FLAG_MODE_META |
| 1028 #undef FLAG_MODE_DEFINE_IMPLICATIONS | 1032 #undef FLAG_MODE_DEFINE_IMPLICATIONS |
| 1029 | 1033 |
| 1030 #undef COMMA | 1034 #undef COMMA |
| OLD | NEW |