1. 28 Mar, 2017 1 commit
  2. 16 Feb, 2017 1 commit
    • jgruber's avatar
      [regexp] Correct lastIndex behavior in RegExp.prototype[@@replace] · c0fe56e6
      jgruber authored
      @@replace has a pretty complex implementation, taking different paths
      for various situations (e.g.: global/nonglobal regexp, functional/string
      replace argument, etc.). Each of these paths must implement similar
      logic for calling into the RegExpBuiltinExec spec operation, and many
      paths get this subtly wrong.
      
      This CL fixes a couple of issues related to the way @@replace handles lastIndex:
      * All paths now respect lastIndex when calling into exec (some used to assume 0).
      * lastIndex is now advanced after a successful match for sticky regexps.
      * lastIndex is now only reset to 0 on failure for sticky regexps.
      
      BUG=v8:5361
      
      Review-Url: https://codereview.chromium.org/2685183003
      Cr-Commit-Position: refs/heads/master@{#43234}
      c0fe56e6
  3. 17 Nov, 2016 1 commit
  4. 07 Oct, 2016 1 commit
  5. 23 Sep, 2016 1 commit
  6. 19 Sep, 2016 1 commit
  7. 08 Aug, 2016 1 commit
    • machenbach's avatar
      [test] Deprecate test data download for most test suites · a2a59723
      machenbach authored
      This removes the test-download method for all but
      promises-aplus. They all only contain legacy code for
      deleting old archives.
      
      Only test262 needs to prepare sources on swarming, which is
      moved to a new method, called unconditionally.
      
      All references to --download-data and --download-data-only
      in the infrastructure can be removed after this.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2227613002
      Cr-Commit-Position: refs/heads/master@{#38439}
      a2a59723
  8. 10 May, 2016 1 commit
  9. 04 May, 2016 1 commit
  10. 29 Apr, 2016 2 commits
  11. 28 Apr, 2016 1 commit
  12. 19 Mar, 2016 1 commit
  13. 16 Mar, 2016 1 commit
  14. 14 Mar, 2016 1 commit
    • littledan's avatar
      Make test262 test runner check for which exception is thrown · f3568ca4
      littledan authored
      test262 "negative" test expectations list which exception is thrown. The ES2017
      draft specification is very specific about which exception class is thrown
      from which path, and V8 works hard to be correct with respect to that spec.
      
      Previously, the test262 test runner would accept any nonzero status code,
      such as from a crash, or a FAIL printed out, for a negative test. This
      patch makes negative tests check for the right answer using a quick-and-dirty
      parsing of the exception printing from d8 to find the exception class.
      It invokes d8 in a way to get a status code of 0 from thrown exceptions
      so that 'negative' tests aren't actually implemented by negating the output.
      
      Amazingly, this didn't catch any test262 failures, but I verified the extra
      checking interactively by changing a negative test to expect a different type
      and saw it fail.
      
      BUG=v8:4803
      R=machenbach
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1766503002
      
      Cr-Commit-Position: refs/heads/master@{#34763}
      f3568ca4
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 25 Nov, 2015 1 commit
  21. 24 Nov, 2015 2 commits
  22. 17 Nov, 2015 1 commit
  23. 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
  24. 05 Nov, 2015 1 commit
  25. 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
  26. 03 Nov, 2015 1 commit
  27. 30 Oct, 2015 2 commits
  28. 23 Oct, 2015 1 commit
  29. 20 Oct, 2015 3 commits
  30. 19 Oct, 2015 1 commit
  31. 16 Oct, 2015 1 commit
  32. 29 Sep, 2015 1 commit
  33. 24 Sep, 2015 1 commit
  34. 17 Sep, 2015 2 commits