1. 09 Aug, 2017 3 commits
  2. 31 Jul, 2017 1 commit
  3. 27 Jul, 2017 1 commit
  4. 25 Jul, 2017 1 commit
  5. 09 Jan, 2017 1 commit
  6. 06 Sep, 2016 1 commit
    • bakkot's avatar
      Split the AST representation of class properties from object properties. · 7bc200c7
      bakkot authored
      This introduces ClassLiteralProperty and a supertype LiteralProperty of
      it and ObjectLiteralProperty. It also splits the parsing of the two.
      This substiantially clarifies some logic, especially as classes
      continue to evolve, and is also about a 2% performance improvement to
      parsing either kind of property (since no work is wasted on logic
      only necessary for the other kind). Also, it saves a word on
      ObjectLiteralProperties.
      
      Review-Url: https://codereview.chromium.org/2302643002
      Cr-Commit-Position: refs/heads/master@{#39219}
      7bc200c7
  7. 05 Aug, 2016 3 commits
  8. 25 Jul, 2016 2 commits
  9. 22 Jul, 2016 1 commit
  10. 28 Jun, 2016 1 commit
  11. 22 Jun, 2016 3 commits
  12. 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
  13. 15 Apr, 2016 1 commit
  14. 01 Mar, 2016 1 commit
  15. 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
  16. 26 Nov, 2015 1 commit
  17. 21 Oct, 2015 2 commits
  18. 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