Stage restrictive declarations flag

This flag bans illegal (and likely useless) constructs like

for (;;) function f() {}

R=adamk
BUG=v8:4824
LOG=Y

Review URL: https://codereview.chromium.org/1781653005

Cr-Commit-Position: refs/heads/master@{#34646}
This commit is contained in:
littledan 2016-03-09 16:02:23 -08:00 committed by Commit bot
parent eaa38ad177
commit 7297f018e7

View File

@ -212,9 +212,7 @@ DEFINE_IMPLICATION(es_staging, harmony_tailcalls)
V(harmony_simd, "harmony simd") \
V(harmony_do_expressions, "harmony do-expressions") \
V(harmony_tailcalls, "harmony tail calls") \
V(harmony_regexp_property, "harmony unicode regexp property classes") \
V(harmony_restrictive_declarations, \
"harmony limitations on sloppy mode function declarations")
V(harmony_regexp_property, "harmony unicode regexp property classes")
// Features that are complete (but still behind --harmony/es-staging flag).
#define HARMONY_STAGED(V) \
@ -223,7 +221,9 @@ DEFINE_IMPLICATION(es_staging, harmony_tailcalls)
V(harmony_instanceof, "harmony instanceof support") \
V(harmony_object_values_entries, "harmony Object.values / Object.entries") \
V(harmony_object_own_property_descriptors, \
"harmony Object.getOwnPropertyDescriptors()")
"harmony Object.getOwnPropertyDescriptors()") \
V(harmony_restrictive_declarations, \
"harmony limitations on sloppy mode function declarations")
// Features that are shipping (turned on by default, but internal flag remains).
#define HARMONY_SHIPPING(V) \