1. 19 Mar, 2016 1 commit
  2. 16 Mar, 2016 1 commit
  3. 03 Mar, 2016 1 commit
    • littledan's avatar
      Restrict FunctionDeclarations in Statement position · 0e7f095c
      littledan authored
      ES2015 generally bans FunctionDeclarations in positions which expect a Statement,
      as opposed to a StatementListItem, such as a FunctionDeclaration which constitutes
      the body of a for loop. However, Annex B 3.2 and 3.4 make exceptions for labeled
      function declarations and function declarations as the body of an if statement in
      sloppy mode, in the latter case specifying that the semantics are as if the
      function declaration occurred in a block. Chrome has historically permitted
      further extensions, for the body of any flow control construct.
      
      This patch addresses both the syntactic and semantic mismatches between V8 and
      the spec. For the semantic mismatch, function declarations as the body of if
      statements change from unconditionally hoisting in certain cases to acquiring
      the sloppy mode function in block semantics (based on Annex B 3.3). For the
      extra syntax permitted, this patch adds a flag,
      --harmony-restrictive-declarations, which excludes disallowed function declaration
      cases. A new UseCounter, LegacyFunctionDeclaration, is added to count how often
      function declarations occur as the body of other constructs in sloppy mode. With
      this patch, the code generally follows the form of the specification with respect
      to parsing FunctionDeclarations, rather than allowing them in arbitrary Statement
      positions, and makes it more clear where our extensions occur.
      
      BUG=v8:4647
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1757543003
      
      Cr-Commit-Position: refs/heads/master@{#34470}
      0e7f095c
  4. 11 Jan, 2016 1 commit
    • littledan's avatar
      Ship ES2015 sloppy-mode const semantics · 95145fa8
      littledan authored
      This patch moves the semantics of 'const' in sloppy mode to match those
      in strict mode, that is, const makes lexical (let-like) bindings, must
      have an initializer, and does not create properties of the global object.
      
      R=adamk
      LOG=Y
      BUG=v8:3305
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1571873004
      
      Cr-Commit-Position: refs/heads/master@{#33218}
      95145fa8
  5. 08 Jan, 2016 1 commit
    • littledan's avatar
      Reland of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #1... · 23235b5f
      littledan authored
      Reland of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #1 id:1 of https://codereview.chromium.org/1565263002/ )
      
      Reason for revert:
      Crash fixed by https://codereview.chromium.org/1564923007
      
      Original issue's description:
      > Revert of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #7 id:120001 of https://codereview.chromium.org/1551443002/ )
      >
      > Reason for revert:
      > Causes frequent crashes in Canary: chromium:537816
      >
      > Original issue's description:
      > > Ship ES2015 sloppy-mode function hoisting, let, class
      > >
      > > This patch doesn't ship all features of ES2015 variable/scoping
      > > changes, notably omitting the removal of legacy const. I think
      > > function hoisting, let and class in sloppy mode can stand to
      > > themselves as a package, and the legacy const change is much
      > > riskier and more likely to be reverted, so my intention is to
      > > pursue those as a separate, follow-on patch.
      > >
      > > R=adamk@chromium.org
      > > BUG=v8:4285,v8:3305
      > > LOG=Y
      > > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      > >
      > > Committed: https://crrev.com/fcff8588a5a01587643d6c2507c7b882c78a2957
      > > Cr-Commit-Position: refs/heads/master@{#33133}
      >
      > TBR=adamk@chromium.org
      > # Not skipping CQ checks because original CL landed more than 1 days ago.
      > BUG=v8:4285,v8:3305,chromium:537816
      > LOG=Y
      >
      > Committed: https://crrev.com/adac5956c6216056a211cfaa460a00ac1500d8f8
      > Cr-Commit-Position: refs/heads/master@{#33162}
      
      TBR=adamk@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4285,v8:3305,chromium:537816
      
      Review URL: https://codereview.chromium.org/1571793002
      
      Cr-Commit-Position: refs/heads/master@{#33189}
      23235b5f
  6. 07 Jan, 2016 1 commit
    • littledan's avatar
      Revert of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #7... · adac5956
      littledan authored
      Revert of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #7 id:120001 of https://codereview.chromium.org/1551443002/ )
      
      Reason for revert:
      Causes frequent crashes in Canary: chromium:537816
      
      Original issue's description:
      > Ship ES2015 sloppy-mode function hoisting, let, class
      >
      > This patch doesn't ship all features of ES2015 variable/scoping
      > changes, notably omitting the removal of legacy const. I think
      > function hoisting, let and class in sloppy mode can stand to
      > themselves as a package, and the legacy const change is much
      > riskier and more likely to be reverted, so my intention is to
      > pursue those as a separate, follow-on patch.
      >
      > R=adamk@chromium.org
      > BUG=v8:4285,v8:3305
      > LOG=Y
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      >
      > Committed: https://crrev.com/fcff8588a5a01587643d6c2507c7b882c78a2957
      > Cr-Commit-Position: refs/heads/master@{#33133}
      
      TBR=adamk@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=v8:4285,v8:3305,chromium:537816
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1565263002
      
      Cr-Commit-Position: refs/heads/master@{#33162}
      adac5956
  7. 06 Jan, 2016 1 commit
    • littledan's avatar
      Ship ES2015 sloppy-mode function hoisting, let, class · fcff8588
      littledan authored
      This patch doesn't ship all features of ES2015 variable/scoping
      changes, notably omitting the removal of legacy const. I think
      function hoisting, let and class in sloppy mode can stand to
      themselves as a package, and the legacy const change is much
      riskier and more likely to be reverted, so my intention is to
      pursue those as a separate, follow-on patch.
      
      R=adamk@chromium.org
      BUG=v8:4285,v8:3305
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1551443002
      
      Cr-Commit-Position: refs/heads/master@{#33133}
      fcff8588
  8. 25 Nov, 2015 1 commit
  9. 24 Nov, 2015 2 commits
  10. 17 Nov, 2015 1 commit
  11. 09 Nov, 2015 1 commit
    • caitpotter88's avatar
      [regexp] remove no-op RegExp.multiline accessor and alias · e63248f6
      caitpotter88 authored
      Remove some non-standard code that doesn't do anything anyways.
      
      While FireFox uses this to set the default value for the multiline flag,
      it is nonstandard and slated for removal. The matching behaviour has
      never been implemented in either JSC or V8, so there is little
      web-compat risk.
      
      The only possible risk could be someone depending on the ToBoolean()
      behaviour of the flag, but this seems unlikely.
      
      BUG=v8:3870
      LOG=N
      R=adamk@chromium.org, littledan@chromium.org, yangguo@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1417733012
      
      Cr-Commit-Position: refs/heads/master@{#31882}
      e63248f6
  12. 05 Nov, 2015 1 commit
  13. 04 Nov, 2015 1 commit
    • mstarzinger's avatar
      Remove obsolete 'arguments' local variable handling. · 124efdd3
      mstarzinger authored
      This removes special casing for the 'f.arguments' property accessor. Any
      local 'arguments' variable should not be allowed to influence the value
      returned by the indirect 'f.arguments' property. That property creates a
      new object with a separate identity everytime it is read. This is by now
      consistent with other browsers.
      
      R=rossberg@chromium.org
      TEST=mjsunit/arguments-indirect
      
      Review URL: https://codereview.chromium.org/1408983006
      
      Cr-Commit-Position: refs/heads/master@{#31776}
      124efdd3
  14. 03 Nov, 2015 1 commit
  15. 30 Oct, 2015 2 commits
  16. 23 Oct, 2015 1 commit
  17. 20 Oct, 2015 3 commits
  18. 29 Sep, 2015 1 commit
  19. 01 Sep, 2015 2 commits
  20. 31 Aug, 2015 1 commit
  21. 27 Jul, 2015 1 commit
  22. 24 Jul, 2015 2 commits
  23. 16 Jul, 2015 1 commit
    • littledan's avatar
      In RegExp, lastIndex is read with ToLength, not ToInteger · 1f61ac50
      littledan authored
      ES2015 made a change vs ES5, where the "lastIndex" property of a
      RegExp (which can be modified by a user to start the next search at
      a different location) is cast to an integer with ToLength rather
      than ToInteger. The main difference is on negative numbers, and
      this is tested by test262. This patch implements that change on
      RegExps and enables the test262 test now that it passes.
      
      R=adamk
      LOG=Y
      BUG=v8:4244
      
      Review URL: https://codereview.chromium.org/1241713004
      
      Cr-Commit-Position: refs/heads/master@{#29715}
      1f61ac50
  24. 11 Jun, 2015 1 commit
  25. 13 Apr, 2015 1 commit
  26. 08 Apr, 2015 1 commit
  27. 07 Apr, 2015 1 commit
  28. 13 Mar, 2015 1 commit
  29. 03 Feb, 2015 1 commit
  30. 21 Jan, 2015 3 commits
  31. 12 Jan, 2015 1 commit
  32. 17 Dec, 2014 1 commit