1. 18 Feb, 2016 1 commit
  2. 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
  3. 26 Nov, 2015 1 commit
  4. 12 Oct, 2015 1 commit
    • littledan's avatar
      Test for var declarations in eval which conflict with let · d515e513
      littledan authored
      Previously, name conflicts between var and let declarations were only
      made into exceptions if they were visible at parse-time. This patch adds
      runtime checks so that sloppy-mode direct eval can't introduce conflicting
      var declarations. The change is implemented by traversing the scope chain
      when a direct eval introduces a var declaration to look for conflicting
      let declarations, up to the function boundary.
      
      BUG=v8:4454
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1382513003
      
      Cr-Commit-Position: refs/heads/master@{#31211}
      d515e513
  5. 30 Sep, 2015 1 commit
  6. 04 Aug, 2015 1 commit
    • rossberg's avatar
      Correct handling of temporaries as parameters. · 222b70d1
      rossberg authored
      They need to be properly recorded in the scope's temps set, otherwise allocation doesn't know about them and can break. (Not observable right now, but necessary for follow-up changes to parameter destructuring.)
      
      Also, print temporary variables in a useful manner.
      
      R=adamk@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1263563002
      
      Cr-Commit-Position: refs/heads/master@{#29998}
      222b70d1
  7. 06 Jul, 2015 1 commit
  8. 12 Jun, 2015 5 commits
  9. 02 Jun, 2015 1 commit
    • arv's avatar
      [es6] Super call in arrows and eval · 4b8051a0
      arv authored
      This splits the SuperReference AST node into SuperPropertyReference and
      SuperCallReference. The super call reference node consists of three
      unresolved vars to this, new.target and this_function. These gets
      declared when the right function is entered and if it is in use. The
      variables gets assigned in FullCodeGenerator::Generate.
      
      This is a revert of the revert 88b1c917
      
      BUG=v8:3768
      LOG=N
      R=wingo@igalia.com, adamk@chromium.org
      
      Review URL: https://codereview.chromium.org/1168513004
      
      Cr-Commit-Position: refs/heads/master@{#28769}
      4b8051a0
  10. 01 Jun, 2015 4 commits
  11. 24 Apr, 2015 2 commits
  12. 23 Apr, 2015 1 commit
  13. 16 Apr, 2015 1 commit
    • marja's avatar
      [strong] Allow mutually recursive classes. · 2dc0f2ec
      marja authored
      The previous restrictions were overshooting (didn't allow a class to refer to a
      later class under any circumstances); after this CL we're undershooting (allow
      referring to any class from inside a method).
      
      Implementing the correct checks (allow referring only if the class declarations
      are in a consecutive block and if there's no dependency cycle) will be
      implemented as a follow up.
      
      BUG=v8:3956
      LOG=N
      
      Review URL: https://codereview.chromium.org/1087543004
      
      Cr-Commit-Position: refs/heads/master@{#27888}
      2dc0f2ec
  14. 24 Mar, 2015 2 commits
    • marja's avatar
      [strong] Check strong mode free variables against the global object. · cb7279da
      marja authored
      Gather references to unbound variables where the reference (VariableProxy) is
      inside strong mode. Check them against the global object when a script is bound
      to a context (during compilation).
      
      This CL only checks unbound variables which are not inside lazy functions - TBD
      how do we solve that; alternatives: add developer mode which disables laziness /
      do the check whenever lazy functions are really compiled.
      
      BUG=v8:3956
      LOG=N
      
      Review URL: https://codereview.chromium.org/1005063002
      
      Cr-Commit-Position: refs/heads/master@{#27422}
      cb7279da
    • aperez's avatar
      Cleanups needed for this-scoping in arrow functions · 00844d46
      aperez authored
      Remove Variable::IsValidReference(), and the Variable::is_valid_ref_
      member: This was "false" only for "this", and for internal variables.
      For the first, VariableProxy::is_this() can be used for the check
      instead; and for internal variables, it is guaranteed they they will
      not be written to (because the V8 code does not do it, and they are
      not accessible from JavaScript).
      
      The "bool is_this" parameter of VariableProxy() constructor is
      changed to use Variable::Kind. This will allow to later on adding
      a parameter to create unresolved variables of any kind, which in
      turn will be used to make references to "this" initially unresolved,
      and use the existing variable resolution mechanics for "this".
      
      BUG=v8:2700
      LOG=N
      
      Review URL: https://codereview.chromium.org/1024703004
      
      Cr-Commit-Position: refs/heads/master@{#27404}
      00844d46
  15. 26 Feb, 2015 1 commit
    • marja's avatar
      [strong] Declaration-after-use errors. · 1eddcf5b
      marja authored
      We cannot yet detect use-before-declaration in general, because for that we'd
      need to analyze the context when compiling. But we can detect an error case
      where we first see a use, then a declaration.
      
      For this, I also added end position tracking (needed for error messages) to
      VariableProxy.
      
      Note: the position naming is completely inconsistent: start_position &
      end_position, position & end_position, pos & end_pos, beg_pos & end_pos, to name
      a few. This doesn't fix all of it, but tries to unify towards start_position &
      end_position whenever possible w/ minimal changes.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/943543002
      
      Cr-Commit-Position: refs/heads/master@{#26880}
      1eddcf5b
  16. 17 Feb, 2015 1 commit
  17. 11 Feb, 2015 3 commits
  18. 12 Nov, 2014 1 commit
  19. 04 Aug, 2014 1 commit
  20. 30 Jul, 2014 1 commit
  21. 26 Jun, 2014 1 commit
  22. 24 Jun, 2014 1 commit
  23. 20 Jun, 2014 1 commit
  24. 18 Jun, 2014 1 commit
  25. 13 Jun, 2014 1 commit
  26. 03 Jun, 2014 1 commit
  27. 29 Apr, 2014 1 commit
  28. 02 Apr, 2014 1 commit
  29. 11 Mar, 2014 1 commit