1. 11 May, 2016 37 commits
  2. 10 May, 2016 3 commits
    • adamk's avatar
      [cleanup] Global variable declarations are never hole initialized · bdf8dc42
      adamk authored
      Globals used to be hole-initialized in the case of toplevel legacy
      const declarations. But now that the only use of legacy const is
      for sloppy function expression names, we can unconditionally
      initialize globals to undefined instead of the_hole.
      
      Review-Url: https://codereview.chromium.org/1964993002
      Cr-Commit-Position: refs/heads/master@{#36151}
      bdf8dc42
    • 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
    • adamk's avatar
      Fix Map::AsArray to properly iterate over the backing store · b767329b
      adamk authored
      Old code failed to walk over deleted elements, instead treating
      deleted elements as "undefined" in the output array.
      
      This is the Map equivalent of commit 2d9bfe9a.
      
      Also micro-optimized the loops to avoid an extra call to KeyAt()
      and used a direct hole comparison instead of calling IsTheHole().
      
      R=cbruni@chromium.org
      BUG=v8:4946
      LOG=y
      
      Review-Url: https://codereview.chromium.org/1965593002
      Cr-Commit-Position: refs/heads/master@{#36149}
      b767329b