1. 16 Feb, 2017 7 commits
  2. 15 Feb, 2017 4 commits
    • caitp's avatar
      [async-iteration] add support for for-await-of loops in Async Functions · 76ab55e3
      caitp authored
      When --harmony-async-iteration is enabled, it is now possible to
      use the for-await-of loop, which uses the Async Iteration protocol
      rather than the ordinary ES6 Iteration protocol.
      
      the Async-from-Sync Iterator object is not implemented in this CL,
      and so for-await-of loops will abort execution if the iterated object
      does not have a Symbol.asyncIterator() method. Async-from-Sync
      Iterators are implemented seperately in https://codereview.chromium.org/2645313003/
      
      BUG=v8:5855, v8:4483
      R=neis@chromium.org, littledan@chromium.org, adamk@chromium.org
      
      Review-Url: https://codereview.chromium.org/2637403008
      Cr-Commit-Position: refs/heads/master@{#43224}
      76ab55e3
    • Marja Hölttä's avatar
      [parser] Minor refactoring: parameter handling · e7ebb930
      Marja Hölttä authored
      - Different places used is_simple to mean different things; renamed one.
      
      - No need to do Scope::SetHasNoSimpleParameters multiple times.
      
      - Normally we create VAR parameters with a name, or (for destructuring
        parameters), TEMPORARY parmeters with an empty name. *Except* for
        destructuring rest parameters; then we create VAR a parameter with an empty
        name. This CL makes the empty-named parameter TEMPORARY instead of VAR.
      
      - This makes it clear that Parser::DeclareFormalParameters declares exactly
        those params which Parser::BuildParamerterInitializationBlock doesn't declare.
      
      - This unification doesn't change any functionality, but it makes sense to do
        since I'll need to make PreParser emulate what Parser does; this way I don't
        need to emulate the weird behavior.
      
      BUG=v8:5501
      
      Change-Id: Ifa6c116bc5908f4e03a36e74f47558888d1582bd
      Reviewed-on: https://chromium-review.googlesource.com/443106Reviewed-by: 's avatarDaniel Vogelheim <vogelheim@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43220}
      e7ebb930
    • vabr's avatar
      ParserBase should accept ESCAPED_STRICT_RESERVED_WORD as an identifier · e3d761d9
      vabr authored
      ParserBase::is_any_identifier currently does not recognise
      Token::ESCAPED_STRICT_RESERVED_WORD as an identifier. This seems different
      from what ParserBase::ParseIdentifierName does, and also prevents
      "l\u0065t", unlike "let", from becoming a label.
      
      This CL extends is_any_identifier to also accept ESCAPED_STRICT_RESERVED_WORD.
      
      BUG=v8:5692
      
      Review-Url: https://codereview.chromium.org/2695973003
      Cr-Commit-Position: refs/heads/master@{#43204}
      e3d761d9
    • vabr's avatar
      Remove dead ExpressionUnexpectedToken from parser-base.h · 8a54a471
      vabr authored
      The method ExpressionUnexpectedToken is not referenced anywhere apart from its
      definition. This CL removes it.
      
      The association with the bug below is only through discovering the dead code
      when working on a fix for that bug.
      
      BUG=v8:5692
      
      Review-Url: https://codereview.chromium.org/2688413009
      Cr-Commit-Position: refs/heads/master@{#43203}
      8a54a471
  3. 14 Feb, 2017 1 commit
  4. 13 Feb, 2017 2 commits
  5. 11 Feb, 2017 1 commit
  6. 10 Feb, 2017 8 commits
  7. 09 Feb, 2017 1 commit
  8. 08 Feb, 2017 1 commit
  9. 07 Feb, 2017 10 commits
  10. 06 Feb, 2017 2 commits
  11. 03 Feb, 2017 2 commits
  12. 01 Feb, 2017 1 commit
    • adamk's avatar
      [parser] Remove hoist_scope from DeclarationDescriptor · 59b8496c
      adamk authored
      The hoist_scope member of DeclarationDescriptor was only used to pass the function
      scope for declaration of parameters containing sloppy evals, for example:
      
        function f(x = eval("var y")) { }
      
      In cases like this, "x" is declared in the function scope but "y" is declared in an inner scope.
      Rather than passing the function scope as "hoist_scope", we simply ask for the outer_scope()
      of the inner scope as needed in PatternRewriter.
      
      This reduces the cognitive overhead of understanding what a DeclarationDescriptor has; for
      example, it removes some dead code from the PreParser which never has to deal
      with a situation like the example above.
      
      Review-Url: https://codereview.chromium.org/2662183002
      Cr-Commit-Position: refs/heads/master@{#42861}
      59b8496c