1. 28 Jun, 2016 1 commit
  2. 22 Jun, 2016 3 commits
  3. 10 May, 2016 1 commit
    • adamk's avatar
      ParameterInitializerRewriter must maintain temporary variable order · 2d090ee4
      adamk authored
      When the rewriter moves a temporary variable between scopes, it must
      be sure to maintain the order, so that the rewritten order is the
      same as it would have been without rewriting.
      
      To expose the difference in behavior, this patch removes the superfluous
      visitation of ForOfStatement::each() from AstExpressionVisitor, which
      happened to be the only thing keeping all the temporaries in order
      in mjsunit/harmony/regress/regress-crbug-578038.js. Without the proper
      order, this test would fail under --stress-opt, because the ".for"
      variable (behind the "each" proxy) would get two different positions
      in the scope, one on first parse (with rewriting) and the other on
      second parse (lazy parsing for optimization).
      
      A follow-up patch will remove each() and iterable() from ForOfStatement
      altogether, but I wanted to keep this patch small to highlight exactly
      the bit of code needed to make the test pass when not visiting each().
      
      BUG=v8:4791
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1784893003
      Cr-Commit-Position: refs/heads/master@{#36150}
      2d090ee4
  4. 15 Apr, 2016 1 commit
  5. 01 Mar, 2016 1 commit
  6. 08 Jan, 2016 1 commit
    • nikolaos's avatar
      Fix for temporaries in parameter initializers · 0406fa22
      nikolaos authored
      This patch introduces a mechanism for changing the scope of temporary
      variables, which is necessary for rewriting arrow parameter
      initializers.
      
      It also fixes a potential bug in AstExpressionVisitor, which did not
      visit the automatically generated members of ForEachStatement.
      
      Fixes test/mjsunit/harmony/regress/regress-4658.js
      
      R=rossberg@chromium.org
      BUG=v8:4658
      LOG=N
      
      Review URL: https://codereview.chromium.org/1564343002
      
      Cr-Commit-Position: refs/heads/master@{#33183}
      0406fa22
  7. 26 Nov, 2015 1 commit
  8. 21 Oct, 2015 2 commits
  9. 20 Oct, 2015 2 commits
    • bmeurer's avatar
      Revert of [es6] Fix scoping for default parameters in arrow functions... · e41614a0
      bmeurer authored
      Revert of [es6] Fix scoping for default parameters in arrow functions (patchset #5 id:80001 of https://codereview.chromium.org/1405313002/ )
      
      Reason for revert:
      Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%202/builds/2407/steps/Check/logs/regress-4395
      
      Original issue's description:
      > [es6] Fix scoping for default parameters in arrow functions
      >
      > When eagerly parsing arrow functions, expressions in default
      > parameter initializers are parsed in the enclosing scope,
      > rather than in the function's scope (since that scope does not
      > yet exist). This leads to VariableProxies being added to the
      > wrong scope, and scope chains for FunctionLiterals being incorrect.
      >
      > This patch addresses these problems by adding a subclass of
      > AstExpressionVisitor that moves VariableProxies to the proper
      > scope and fixes up scope chains of FunctionLiterals.
      >
      > More work likely still needs to be done to make this work completely,
      > but it's very close to correct.
      >
      > BUG=v8:4395
      > LOG=y
      >
      > Committed: https://crrev.com/cf72aad39e51de9b7074ea039377c1812f4a2c6b
      > Cr-Commit-Position: refs/heads/master@{#31402}
      
      TBR=rossberg@chromium.org,caitpotter88@gmail.com,adamk@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4395
      
      Review URL: https://codereview.chromium.org/1417463004
      
      Cr-Commit-Position: refs/heads/master@{#31404}
      e41614a0
    • adamk's avatar
      [es6] Fix scoping for default parameters in arrow functions · cf72aad3
      adamk authored
      When eagerly parsing arrow functions, expressions in default
      parameter initializers are parsed in the enclosing scope,
      rather than in the function's scope (since that scope does not
      yet exist). This leads to VariableProxies being added to the
      wrong scope, and scope chains for FunctionLiterals being incorrect.
      
      This patch addresses these problems by adding a subclass of
      AstExpressionVisitor that moves VariableProxies to the proper
      scope and fixes up scope chains of FunctionLiterals.
      
      More work likely still needs to be done to make this work completely,
      but it's very close to correct.
      
      BUG=v8:4395
      LOG=y
      
      Review URL: https://codereview.chromium.org/1405313002
      
      Cr-Commit-Position: refs/heads/master@{#31402}
      cf72aad3