v8/test/cctest/interpreter
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
..
bytecode_expectations [parser] Don't desugar destructuring declarations. 2019-01-09 14:09:23 +00:00
bytecode-expectations-printer.cc [objects.h splitting] Move HeapNumber to heap-number.h 2018-12-17 17:58:09 +00:00
bytecode-expectations-printer.h [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
generate-bytecode-expectations.cc Remove bytecode expectations for do expressions 2018-12-07 08:26:45 +00:00
interpreter-tester.cc [reland] Don't allocate feedback vectors and feedback metadata in lite mode 2018-12-19 14:29:30 +00:00
interpreter-tester.h [reland] Don't allocate feedback vectors and feedback metadata in lite mode 2018-12-19 14:29:30 +00:00
source-position-matcher.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
source-position-matcher.h Use source position table for unoptimized code. 2016-06-28 05:52:52 +00:00
test-bytecode-generator.cc [intepreter] Make bytecode mismatch failures more verbose 2019-01-08 12:58:15 +00:00
test-interpreter-intrinsics.cc [cleanup] Remove a lot of dead intrinsics/runtime functions. 2018-09-20 12:48:57 +00:00
test-interpreter.cc Workaround VS/UCRT fmod bug 2018-12-19 18:05:18 +00:00
test-source-positions.cc [cleanup] Refactor TestCaseData to use delete 2018-09-12 07:54:35 +00:00