v8/test/mjsunit/regress/regress-616386.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

11 lines
603 B
JavaScript
Raw Normal View History

Reland of write scopes of non-simple default arguments (patchset #1 id:1 of https://codereview.chromium.org/2081323006/ ) Reason for revert: Infra issue appears to be over TBR=adamk@chromium.org Original issue's description: > Revert of Rewrite scopes of non-simple default arguments (patchset #5 id:80001 of https://codereview.chromium.org/2077283004/ ) > > Reason for revert: > Seems to close tree (but it could be an infra issue) > > Original issue's description: > > Rewrite scopes of non-simple default arguments > > > > Default parameters have additional declaration block scopes inserted > > around them when something in the function scope calls eval. This > > patch sets the parent scope of the expressions introduced due to > > those defaults to the new block scope. > > > > R=adamk > > BUG=chromium:616386 > > > > Committed: https://crrev.com/0e14baf712955a1993f742647bb2adc293702b80 > > Cr-Commit-Position: refs/heads/master@{#37198} > > TBR=adamk@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:616386 > > Committed: https://crrev.com/dd50262933d2ac087da32be887a7c18385fd998e > Cr-Commit-Position: refs/heads/master@{#37201} TBR=adamk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:616386 Review-Url: https://codereview.chromium.org/2086353003 Cr-Commit-Position: refs/heads/master@{#37202}
2016-06-22 21:07:53 +00:00
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --no-lazy
assertEquals(0, ((y = (function(a2) { bbbb = a2 }), bbbb = eval('1')) => {y(0); return bbbb})())
assertEquals(0, (({y = (function(a2) { bbbb = a2 }), bbbb = eval('1')} = {}) => {y(0); return bbbb})())
assertEquals(0, (function (y = (function(a2) { bbbb = a2 }), bbbb = eval('1')) {y(0); return bbbb})())
assertEquals(0, (function ({y = (function(a2) { bbbb = a2 }), bbbb = eval('1')} = {}) {y(0); return bbbb})())