v8/test
Leszek Swirski 5e725a2b43 [parser] Don't desugar destructuring declarations.
Emit a single destructuring assignment for destructuring declarations,
which can be desugared by the bytecode generator. This allows us to
remove destructuring desugaring from the parser (specifically, the
pattern rewriter) entirely.

The pattern "rewriter" is now only responsible for walking the
destructuring pattern to declare variables, mark them assigned, and
potentially rewrite scopes for the edge case of parameters with a sloppy
eval.

Note that since the rewriter is no longer rewriting, we have to flip the
VariableProxy copying logic for var re-lookup, so that we now pass the
new VariableProxy to the variable declaration and leave the original
unresolved (rather than passing the original through and rewriting to a
new unresolved VariableProxy).

This change does have some effect on breakpoint locations, due to some
of the available information changing between the parser and bytecode
generator, however the new locations appear to be more consistent
between assignments and declarations.

Change-Id: I3a58dd0a387d2bfb8e5e9e22dde0acc5f440cb82
Reviewed-on: https://chromium-review.googlesource.com/c/1382462
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58670}
2019-01-09 14:09:23 +00:00
..
benchmarks [Test] CSuite benchmark runner 2018-12-21 13:15:57 +00:00
cctest [parser] Don't desugar destructuring declarations. 2019-01-09 14:09:23 +00:00
common [objects.h splitting] Move HeapNumber to heap-number.h 2018-12-17 17:58:09 +00:00
debugger [parser] Don't desugar destructuring declarations. 2019-01-09 14:09:23 +00:00
fuzzer Reduce input size limit of parser fuzzer to 2kB 2018-12-17 13:39:05 +00:00
inspector [parser] Don't desugar destructuring declarations. 2019-01-09 14:09:23 +00:00
intl [Intl] Implement nu/numberingSystem 2019-01-08 03:17:07 +00:00
js-perf-test [test] Ensure random generator in JSTests does not use float arithmetic 2018-12-17 10:05:08 +00:00
memory [snapshot] Remove the builtins snapshot 2018-10-31 10:18:28 +00:00
message [parser] Don't desugar destructuring declarations. 2019-01-09 14:09:23 +00:00
mjsunit [asm.js] Fix semicolon insertion in presence of Unicode. 2019-01-09 12:38:41 +00:00
mkgrokdump [ubsan] Port Object to the new design 2018-12-26 20:54:07 +00:00
mozilla Revert "[runtime] Reduce spread/apply call max arguments" 2018-11-30 09:54:47 +00:00
preparser [test] Share resource-fetching logic with all d8 test cases 2018-08-29 17:51:43 +00:00
test262 [Intl] Remove skipped tests depend on stable sort 2019-01-08 19:11:47 +00:00
torque [nojit] Change builtin pointers to use Smis underneath 2018-12-17 15:35:59 +00:00
unittests [MIPS] Add Predrag Rudic and Aleksandar Rikalo as owners of MIPS files 2019-01-09 13:40:20 +00:00
wasm-js [wasm] fix js-api global/constructor 2019-01-07 22:56:18 +00:00
wasm-spec-tests [wasm] Update spec tests 2019-01-04 09:15:59 +00:00
webkit Fixed typos 2019-01-08 07:31:02 +00:00
BUILD.gn Reland "[wasm] Add a new wasm-js testsuite to run js-api tests" 2018-10-18 20:18:55 +00:00