v8/test/debugger/debug/es6
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
..
debug-promises Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
regress [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-blockscopes.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
debug-break-default-constructor.js [debugger] Migrate more debugger tests to inspector 2016-11-08 10:39:08 +00:00
debug-evaluate-arrow-function-receiver.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-evaluate-blockscopes.js [debugger] remove debugger statement support from FCG/CS. 2017-02-22 08:45:09 +00:00
debug-evaluate-receiver-before-super.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-exception-generators.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-function-scopes.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-liveedit-new-target-1.js Reland "[debug] liveedit in native" 2018-07-03 21:01:57 +00:00
debug-liveedit-new-target-2.js Reland "[debug] liveedit in native" 2018-07-03 21:01:57 +00:00
debug-liveedit-new-target-3.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-scope-default-param-with-eval.js [debug-wrapper] Adapt tests, breakpoint.actual_location 2016-11-21 09:29:17 +00:00
debug-step-destructuring-assignment.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-step-destructuring-bind.js [parser] Don't desugar destructuring declarations. 2019-01-09 14:09:23 +00:00
debug-step-into-class-extends.js [debugger] Migrate more debugger tests to inspector 2016-11-08 10:39:08 +00:00
debug-step-into-constructor.js [debugger] Migrate more debugger tests to inspector 2016-11-08 10:39:08 +00:00
debug-step-into-regexp-subclass.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-stepin-collections-foreach.js [debugger] Migrate more debugger tests to inspector 2016-11-08 10:39:08 +00:00
debug-stepin-default-parameters.js [parser] Don't desugar destructuring declarations. 2019-01-09 14:09:23 +00:00
debug-stepin-generators.js [debugger] step-next across yield should not leave the generator. 2016-11-21 11:05:08 +00:00
debug-stepin-microtasks.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-stepin-proxies.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-stepin-string-template.js [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
debug-stepnext-for.js [inspector] removed call break location from for-of loop 2017-05-24 12:12:53 +00:00
debug-stepnext-generators.js [debugger] step-next across yield should not leave the generator. 2016-11-21 11:05:08 +00:00
default-parameters-debug.js [ignition/turbo] Perform liveness analysis on the bytecodes 2016-11-29 12:27:15 +00:00
generators-debug-liveedit.js [debug] retire ScriptWrapper 2018-07-05 21:33:03 +00:00
generators-debug-scopes.js [cleanup] Eliminate obsolete TODOs 2018-09-04 14:59:47 +00:00
generators-relocation.js [debugger] Migrate more debugger tests to inspector 2016-11-08 10:39:08 +00:00