diff options
author | adamk <adamk@chromium.org> | 2015-09-30 12:17:23 -0700 |
---|---|---|
committer | Jongsoo Yoon <join.yoon@samsung.com> | 2015-11-20 22:32:16 +0900 |
commit | 4084dabbee07f7f439e4322cde08fef099e44355 (patch) | |
tree | 1307c68184428467da47f950174e2a248c87007c | |
parent | 9ba7a8ca77090b2904377aaa2a74a51e68ff79d3 (diff) | |
download | v8-4084dabbee07f7f439e4322cde08fef099e44355.tar.gz v8-4084dabbee07f7f439e4322cde08fef099e44355.tar.bz2 v8-4084dabbee07f7f439e4322cde08fef099e44355.zip |
Revert "Stage sloppy block-scoped functions (Annex B 3.3)"
The current implemention breaks sloppy mode code that uses function
declarations inside blocks at top-level. Work is ongoing on a patch
to fix this issue, but in the meantime it seems reasonable to move
the feature out of staging.
Manual revert of commit 6e07f5a75ba2c949ac96efabd5248c76b9957112.
R=littledan@chromium.org
BUG=chromium:535836
LOG=y
Review URL: https://codereview.chromium.org/1375213005
Cr-Commit-Position: refs/heads/master@{#31029}
-rw-r--r-- | src/flag-definitions.h | 22 | ||||
-rw-r--r-- | test/test262/test262.status | 9 |
2 files changed, 20 insertions, 11 deletions
diff --git a/src/flag-definitions.h b/src/flag-definitions.h index 2c2a0fa42..e9e136393 100644 --- a/src/flag-definitions.h +++ b/src/flag-definitions.h @@ -188,16 +188,17 @@ DEFINE_IMPLICATION(es_staging, harmony) DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode") // Features that are still work in progress (behind individual flags). -#define HARMONY_INPROGRESS(V) \ - V(harmony_modules, "harmony modules") \ - V(harmony_regexps, "harmony regular expression extensions") \ - V(harmony_proxies, "harmony proxies") \ - V(harmony_unicode_regexps, "harmony unicode regexps") \ - V(harmony_tolength, "harmony ToLength") \ - V(harmony_reflect, "harmony Reflect API") \ - V(harmony_destructuring, "harmony destructuring") \ - V(harmony_default_parameters, "harmony default parameters") \ - V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \ +#define HARMONY_INPROGRESS(V) \ + V(harmony_modules, "harmony modules") \ + V(harmony_regexps, "harmony regular expression extensions") \ + V(harmony_proxies, "harmony proxies") \ + V(harmony_unicode_regexps, "harmony unicode regexps") \ + V(harmony_tolength, "harmony ToLength") \ + V(harmony_reflect, "harmony Reflect API") \ + V(harmony_sloppy_function, "harmony sloppy function block scoping") \ + V(harmony_destructuring, "harmony destructuring") \ + V(harmony_default_parameters, "harmony default parameters") \ + V(harmony_sharedarraybuffer, "harmony sharedarraybuffer") \ V(harmony_simd, "harmony simd") // Features that are complete (but still behind --harmony/es-staging flag). @@ -205,7 +206,6 @@ DEFINE_BOOL(legacy_const, true, "legacy semantics for const in sloppy mode") V(harmony_tostring, "harmony toString") \ V(harmony_concat_spreadable, "harmony isConcatSpreadable") \ V(harmony_sloppy, "harmony features in sloppy mode") \ - V(harmony_sloppy_function, "harmony sloppy function block scoping") \ V(harmony_sloppy_let, "harmony let in sloppy mode") // Features that are shipping (turned on by default, but internal flag remains). diff --git a/test/test262/test262.status b/test/test262/test262.status index 802a7d8f1..52c003821 100644 --- a/test/test262/test262.status +++ b/test/test262/test262.status @@ -113,6 +113,15 @@ 'language/statements/for-of/const-bound-names-fordecl-tdz-for-of': [PASS, FAIL_SLOPPY], 'language/statements/for-of/const-fresh-binding-per-iteration-for-of': [PASS, FAIL_SLOPPY], + # Functions in blocks are var-declared and hoisted in sloppy mode + # https://code.google.com/p/v8/issues/detail?id=3305 + 'language/block-scope/shadowing/dynamic-lookup-from-closure': [PASS, FAIL_SLOPPY], + 'language/block-scope/shadowing/lookup-from-closure': [PASS, FAIL_SLOPPY], + 'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-function-declaration': [PASS, FAIL_SLOPPY], + 'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-var': [PASS, FAIL_SLOPPY], + 'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-var-with-function-declaration': [PASS, FAIL_SLOPPY], + 'language/statements/let/block-local-closure-set-before-initialization': [PASS, FAIL_SLOPPY], + # https://code.google.com/p/v8/issues/detail?id=4405 'language/block-scope/leave/outermost-binding-updated-in-catch-block-nested-block-let-declaration-unseen-outside-of-block': [PASS, FAIL], |