v8/test/mjsunit/harmony
bmeurer e41614a058 Revert of [es6] Fix scoping for default parameters in arrow functions (patchset #5 id:80001 of https://codereview.chromium.org/1405313002/ )
Reason for revert:
Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%202/builds/2407/steps/Check/logs/regress-4395

Original issue's description:
> [es6] Fix scoping for default parameters in arrow functions
>
> When eagerly parsing arrow functions, expressions in default
> parameter initializers are parsed in the enclosing scope,
> rather than in the function's scope (since that scope does not
> yet exist). This leads to VariableProxies being added to the
> wrong scope, and scope chains for FunctionLiterals being incorrect.
>
> This patch addresses these problems by adding a subclass of
> AstExpressionVisitor that moves VariableProxies to the proper
> scope and fixes up scope chains of FunctionLiterals.
>
> More work likely still needs to be done to make this work completely,
> but it's very close to correct.
>
> BUG=v8:4395
> LOG=y
>
> Committed: https://crrev.com/cf72aad39e51de9b7074ea039377c1812f4a2c6b
> Cr-Commit-Position: refs/heads/master@{#31402}

TBR=rossberg@chromium.org,caitpotter88@gmail.com,adamk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4395

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

Cr-Commit-Position: refs/heads/master@{#31404}
2015-10-20 10:36:38 +00:00
..
regress Revert of [es6] Fix scoping for default parameters in arrow functions (patchset #5 id:80001 of https://codereview.chromium.org/1405313002/ ) 2015-10-20 10:36:38 +00:00
array-concat.js Guard @@isConcatSpreadable behind a flag 2015-07-08 21:49:58 +00:00
array-includes-to-object-sloppy.js Add Array.prototype.includes 2014-12-10 08:58:15 +00:00
array-includes-to-object-strict.js Add Array.prototype.includes 2014-12-10 08:58:15 +00:00
array-includes.js Add Array.prototype.includes 2014-12-10 08:58:15 +00:00
array-length.js ES6: Array.prototype.slice and friends should use ToLength instead of ToUint32 2015-09-16 18:01:52 +00:00
arrow-rest-params-lazy-parsing.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
arrow-rest-params.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
atomics.js [Atomics] Remove support for atomic accesses on floating-point values. 2015-09-15 21:25:14 +00:00
block-conflicts-sloppy.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-const-assign-sloppy.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
block-eval-var-over-legacy-const.js Test for var declarations in eval which conflict with let 2015-10-12 14:31:01 +00:00
block-eval-var-over-let.js Test for var declarations in eval which conflict with let 2015-10-12 14:31:01 +00:00
block-for-sloppy.js [es6] Implement completion value reform (--harmony-completion). 2015-10-08 13:57:04 +00:00
block-lazy-compile.js Preliminary code for block scopes and block contexts. 2011-08-11 16:29:28 +00:00
block-leave-sloppy.js Split off a separate --harmony_sloppy_let flag 2015-07-25 00:05:18 +00:00
block-let-contextual-sloppy.js Prohibit let in lexical bindings 2015-10-05 20:29:22 +00:00
block-let-crankshaft-sloppy.js Split off a separate --harmony_sloppy_let flag 2015-07-25 00:05:18 +00:00
block-let-declaration-sloppy.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-let-semantics-sloppy.js Implement sloppy-mode block-defined functions (Annex B 3.3) 2015-09-21 04:31:09 +00:00
block-scope-class.js Split function block scoping into a separate flag 2015-08-12 00:00:01 +00:00
block-scoping-sloppy.js [turbofan] Initial support for monomorphic/polymorphic property loads. 2015-10-19 05:24:51 +00:00
block-scoping-top-level-sloppy.js Split off a separate --harmony_sloppy_let flag 2015-07-25 00:05:18 +00:00
block-sloppy-function.js Extend Annex B 3.3 sloppy-mode block-scoped hoisting to scripts, eval 2015-09-30 23:48:34 +00:00
classes-derived-return-type.js [es6] Fix return checking in derived constructors 2015-04-28 16:09:30 +00:00
completion.js [es6] Implement completion value reform (--harmony-completion). 2015-10-08 13:57:04 +00:00
dataview-accessors.js Fix data view accessors to throw execptions on offsets bigger than size_t. 2013-11-18 15:16:22 +00:00
default-parameters-debug.js [es6] Implement default parameters 2015-08-17 12:02:08 +00:00
default-parameters.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
destructuring-parameters-literalcount-nolazy.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
destructuring-parameters-literalcount.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
destructuring.js Destructuring array without initializer throws an exception 2015-10-06 17:01:28 +00:00
futex.js Remove harmony-atomics flag and collapse it into sharedarraybuffer flag 2015-09-01 18:34:00 +00:00
module-linking.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
module-parsing-eval.js Enable compiling mjsunit tests as ES6 modules 2015-02-10 19:11:55 +00:00
module-recompile.js Implement proper module linking. 2012-07-09 08:59:03 +00:00
module-resolution.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
modules.js Enable compiling mjsunit tests as ES6 modules 2015-02-10 19:11:55 +00:00
new-target.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
private.js All private symbols are own symbols 2015-06-16 08:13:42 +00:00
proxies-example-membrane.js Remove proxies from --harmony switch for M38, because problems 2014-08-08 09:58:19 +00:00
proxies-for.js Fix ToNameArray 2015-05-22 10:57:20 +00:00
proxies-function.js [runtime] Replace many buggy uses of %_CallFunction with %_Call. 2015-09-08 13:35:32 +00:00
proxies-hash.js Enable ES6 Map and Set by default 2014-08-05 19:37:32 +00:00
proxies-json.js Remove proxies from --harmony switch for M38, because problems 2014-08-08 09:58:19 +00:00
proxies-symbols.js Enable ES6 Symbols by default 2014-08-04 18:17:54 +00:00
proxies-with-unscopables.js ES6: Update unscopables to match spec 2014-12-16 20:07:41 +00:00
proxies-with.js Proxies: Make 'with' work, plus minor other fixes 2013-07-19 14:07:23 +00:00
proxies.js Fix keyed stores to strings convertible to indices 2015-07-13 10:46:35 +00:00
reflect-apply.js [es6] implement Reflect.apply() & Reflect.construct() 2015-03-19 14:47:27 +00:00
reflect-construct.js [es6] implement Reflect.apply() & Reflect.construct() 2015-03-19 14:47:27 +00:00
reflect-enumerate-delete.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
reflect-enumerate-opt.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
reflect-enumerate-special-cases.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
reflect-enumerate.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
reflect.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
regexp-flags.js Split --harmony-unicode and --harmony-unicode-regexps. 2015-02-05 14:17:09 +00:00
regexp-sticky.js RegExp: Fix update of lastIndex on non-global sticky 2015-10-06 21:24:12 +00:00
regexp-tolength.js Make RegExp use ToLength on lastIndex when flag is turned on 2015-10-15 14:10:48 +00:00
rest-params-lazy-parsing.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
rest-params.js [es6] Re-implement rest parameters via desugaring. 2015-09-02 21:11:05 +00:00
set-prototype-of.js [es6] throw TypeError when setting cyclic prototype value 2015-06-19 22:18:36 +00:00
sharedarraybuffer.js Revert of Add %TypedArray% to proto chain (patchset #6 id:100001 of https://codereview.chromium.org/1186733002/) 2015-06-17 09:05:51 +00:00
simd.js Install iterator meta objects via utils object. 2015-10-16 11:27:33 +00:00
spread-array.js [es6] Spread in array literals 2015-05-21 08:08:55 +00:00
spread-call-new-class.js [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
spread-call-new.js [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
spread-call-super-property.js [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
spread-call.js [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
super.js Improving error messages when adding properties to non JSObject receiver in 2015-10-09 09:12:47 +00:00
to-length.js [runtime] Implement %_ToLength via ToLengthStub. 2015-10-19 08:35:18 +00:00
to-name.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-number.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-primitive.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-string.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
typed-array-includes.js Add includes method to typed arrays 2015-08-11 17:55:24 +00:00
unicode-escapes-in-regexps.js Split --harmony-unicode and --harmony-unicode-regexps. 2015-02-05 14:17:09 +00:00