Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Side by Side Diff: src/flag-definitions.h

Issue 751503004: Stage ES6 block scoping. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
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_IMPLICATION(harmony, es_staging) 160 DEFINE_IMPLICATION(harmony, es_staging)
161 // TODO(rossberg): activate once we have staged scoping: 161 DEFINE_IMPLICATION(es_staging, harmony)
162 // DEFINE_IMPLICATION(es_staging, harmony)
163 162
164 // Features that are still work in progress (behind individual flags). 163 // Features that are still work in progress (behind individual flags).
165 #define HARMONY_INPROGRESS(V) \ 164 #define HARMONY_INPROGRESS(V) \
166 V(harmony_scoping, "harmony block scoping") \
167 V(harmony_modules, "harmony modules (implies block scoping)") \ 165 V(harmony_modules, "harmony modules (implies block scoping)") \
168 V(harmony_arrays, "harmony array methods") \ 166 V(harmony_arrays, "harmony array methods") \
169 V(harmony_classes, \ 167 V(harmony_classes, \
170 "harmony classes (implies block scoping & object literal extension)") \ 168 "harmony classes (implies block scoping & object literal extension)") \
171 V(harmony_object_literals, "harmony object literal extensions") \ 169 V(harmony_object_literals, "harmony object literal extensions") \
172 V(harmony_regexps, "harmony regular expression extensions") \ 170 V(harmony_regexps, "harmony regular expression extensions") \
173 V(harmony_arrow_functions, "harmony arrow functions") \ 171 V(harmony_arrow_functions, "harmony arrow functions") \
174 V(harmony_tostring, "harmony toString") \ 172 V(harmony_tostring, "harmony toString") \
175 V(harmony_proxies, "harmony proxies") \ 173 V(harmony_proxies, "harmony proxies") \
176 V(harmony_templates, "harmony template literals") \ 174 V(harmony_templates, "harmony template literals") \
177 V(harmony_sloppy, "harmony features in sloppy mode") 175 V(harmony_sloppy, "harmony features in sloppy mode")
178 176
179 // Features that are complete (but still behind --harmony/es-staging flag). 177 // Features that are complete (but still behind --harmony/es-staging flag).
180 #define HARMONY_STAGED(V) V(harmony_strings, "harmony string methods") 178 #define HARMONY_STAGED(V) \
179 V(harmony_strings, "harmony string methods") \
180 V(harmony_scoping, "harmony block scoping")
181 181
182 // Features that are shipping (turned on by default, but internal flag remains). 182 // Features that are shipping (turned on by default, but internal flag remains).
183 #define HARMONY_SHIPPING(V) \ 183 #define HARMONY_SHIPPING(V) \
184 V(harmony_numeric_literals, "harmony numeric literals") 184 V(harmony_numeric_literals, "harmony numeric literals")
185 185
186 // Once a shipping feature has proved stable in the wild, it will be dropped 186 // Once a shipping feature has proved stable in the wild, it will be dropped
187 // from HARMONY_SHIPPING, all occurrences of the FLAG_ variable are removed, 187 // from HARMONY_SHIPPING, all occurrences of the FLAG_ variable are removed,
188 // and associated tests are moved from the harmony directory to the appropriate 188 // and associated tests are moved from the harmony directory to the appropriate
189 // esN directory. 189 // esN directory.
190 190
191 191
192 #define FLAG_INPROGRESS_FEATURES(id, description) \ 192 #define FLAG_INPROGRESS_FEATURES(id, description) \
193 DEFINE_BOOL(id, false, "enable " #description " (in progress)") 193 DEFINE_BOOL(id, false, "enable " #description " (in progress)")
194 HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES) 194 HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES)
195 #undef FLAG_INPROGRESS_FEATURES 195 #undef FLAG_INPROGRESS_FEATURES
196 196
197 // TODO(rossberg): temporary, remove once we have staged scoping.
198 // After that, --harmony will be synonymous to --es-staging.
199 DEFINE_IMPLICATION(harmony, harmony_scoping)
200
201 #define FLAG_STAGED_FEATURES(id, description) \ 197 #define FLAG_STAGED_FEATURES(id, description) \
202 DEFINE_BOOL(id, false, "enable " #description) \ 198 DEFINE_BOOL(id, false, "enable " #description) \
203 DEFINE_IMPLICATION(es_staging, id) 199 DEFINE_IMPLICATION(es_staging, id)
204 HARMONY_STAGED(FLAG_STAGED_FEATURES) 200 HARMONY_STAGED(FLAG_STAGED_FEATURES)
205 #undef FLAG_STAGED_FEATURES 201 #undef FLAG_STAGED_FEATURES
206 202
207 #define FLAG_SHIPPING_FEATURES(id, description) \ 203 #define FLAG_SHIPPING_FEATURES(id, description) \
208 DEFINE_BOOL_READONLY(id, true, "enable " #description) 204 DEFINE_BOOL_READONLY(id, true, "enable " #description)
209 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) 205 HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES)
210 #undef FLAG_SHIPPING_FEATURES 206 #undef FLAG_SHIPPING_FEATURES
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
988 #undef DEFINE_ALIAS_FLOAT 984 #undef DEFINE_ALIAS_FLOAT
989 #undef DEFINE_ALIAS_ARGS 985 #undef DEFINE_ALIAS_ARGS
990 986
991 #undef FLAG_MODE_DECLARE 987 #undef FLAG_MODE_DECLARE
992 #undef FLAG_MODE_DEFINE 988 #undef FLAG_MODE_DEFINE
993 #undef FLAG_MODE_DEFINE_DEFAULTS 989 #undef FLAG_MODE_DEFINE_DEFAULTS
994 #undef FLAG_MODE_META 990 #undef FLAG_MODE_META
995 #undef FLAG_MODE_DEFINE_IMPLICATIONS 991 #undef FLAG_MODE_DEFINE_IMPLICATIONS
996 992
997 #undef COMMA 993 #undef COMMA
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698