- 21 Jan, 2019 1 commit
-
-
Toon Verwaest authored
Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954}
-
- 16 Jan, 2019 1 commit
-
-
Leszek Swirski authored
Storing a VariableProxy in declarations means that a declaration and initialisation assignment are tightly coupled to use the same var. In particular, this means that Var declarations in with scopes have to clone the VariableProxy to split the declaration and initializer LHS lookup. This patch changes declarations to point directly to the Variable, not the VariableProxy. This will allow future refactoring to decouple declarations and initialisations. Change-Id: I0baa77bfd12fe175f9521d292740d7d712cffd37 Reviewed-on: https://chromium-review.googlesource.com/c/1406683Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#58843}
-
- 26 Oct, 2017 1 commit
-
-
Clemens Hammacher authored
This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951}
-
- 16 Feb, 2016 1 commit
-
-
adamk authored
This avoids spending lots of time in Scope::RemoveUnresolved for very long variable declaration lists. BUG=v8:4699 LOG=n Review URL: https://codereview.chromium.org/1655313003 Cr-Commit-Position: refs/heads/master@{#34047}
-
- 05 Nov, 2015 3 commits
-
-
adamk authored
http://crrev.com/80a1e004f4ef619b54a2d87bf2108719a8411860 was reverted due to a Blink test failure. That test has been marked as failing on the Blink side in https://chromium.googlesource.com/chromium/src/+/ac11c6df133. BUG=v8:811 LOG=y TBR=rossberg@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1409093005 Cr-Commit-Position: refs/heads/master@{#31842}
-
machenbach authored
Revert of Revert "Revert of [es6] Implement destructuring binding in try/catch" (patchset #2 id:20001 of https://codereview.chromium.org/1411323008/ ) Reason for revert: [Sheriff] Breaks a layout test: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/2750 Please request rebase upstream first if intended. Original issue's description: > Revert "Revert of [es6] Implement destructuring binding in try/catch" > > Reland try/catch destructuring with a fix for the MemorySanitizer failure: > initialization_pos needs to be initialized in the DeclarationDescriptor. > > This is a one line fix to http://crrev.com/a316db995e6e4253664920652ed4e5a38b2caeba > > BUG=v8:811 > LOG=y > > Committed: https://crrev.com/80a1e004f4ef619b54a2d87bf2108719a8411860 > Cr-Commit-Position: refs/heads/master@{#31834} TBR=littledan@chromium.org,rossberg@chromium.org,adamk@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:811 Review URL: https://codereview.chromium.org/1421193006 Cr-Commit-Position: refs/heads/master@{#31840}
-
adamk authored
Reland try/catch destructuring with a fix for the MemorySanitizer failure: initialization_pos needs to be initialized in the DeclarationDescriptor. This is a one line fix to http://crrev.com/a316db995e6e4253664920652ed4e5a38b2caeba BUG=v8:811 LOG=y Review URL: https://codereview.chromium.org/1411323008 Cr-Commit-Position: refs/heads/master@{#31834}
-
- 04 Nov, 2015 2 commits
-
-
adamk authored
Revert of [es6] Implement destructuring binding in try/catch (patchset #3 id:40001 of https://codereview.chromium.org/1417483014/ ) Reason for revert: MSAN errors on arm64: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/5123/ Original issue's description: > [es6] Implement destructuring binding in try/catch > > The approach is to desugar > > try { ... } > catch ({x, y}) { ... } > > into > > try { ... } > catch (.catch) { > let x = .catch.x; > let y = .catch.y; > ... > } > > using the PatternRewriter's normal facilities. This has the side benefit > of throwing the appropriate variable conflict errors for declarations > made inside the catch block. > > No change is made to non-destructured cases, which will hopefully save > us some work if https://github.com/tc39/ecma262/issues/150 is adopted > in the spec. > > There's one big problem with this patch, which is a lack of PreParser > support for the redeclaration errors. But it seems we're already lacking > good PreParser support for such errors, so I'm not sure that should > block this moving forward. > > BUG=v8:811 > LOG=y > > Committed: https://crrev.com/a316db995e6e4253664920652ed4e5a38b2caeba > Cr-Commit-Position: refs/heads/master@{#31797} TBR=rossberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:811 Review URL: https://codereview.chromium.org/1408063013 Cr-Commit-Position: refs/heads/master@{#31798}
-
adamk authored
The approach is to desugar try { ... } catch ({x, y}) { ... } into try { ... } catch (.catch) { let x = .catch.x; let y = .catch.y; ... } using the PatternRewriter's normal facilities. This has the side benefit of throwing the appropriate variable conflict errors for declarations made inside the catch block. No change is made to non-destructured cases, which will hopefully save us some work if https://github.com/tc39/ecma262/issues/150 is adopted in the spec. There's one big problem with this patch, which is a lack of PreParser support for the redeclaration errors. But it seems we're already lacking good PreParser support for such errors, so I'm not sure that should block this moving forward. BUG=v8:811 LOG=y Review URL: https://codereview.chromium.org/1417483014 Cr-Commit-Position: refs/heads/master@{#31797}
-