1. 21 Dec, 2018 1 commit
    • Jakob Gruber's avatar
      Reland "[regexp] Escape newlines when setting [[OriginalSource]]" · 4edfaa1f
      Jakob Gruber authored
      This is a reland of 0e22ec73
      
      Original change's description:
      > [regexp] Escape newlines when setting [[OriginalSource]]
      > 
      > This escapes LineTerminator characters in a regexp pattern when
      > creating the string that will be stored in the [[OriginalSource]] slot.
      > 
      > As an example, the source property for all following objects will equal
      > "\n" (a '\' character followed by 'n'):
      > 
      >   /\n/
      >   new RegExp("\n")
      >   new RegExp("\\n")
      > 
      > Bug: v8:1982, chromium:855009
      > Change-Id: I3b539497a0697e3d51ec969cae49308b0b312a19
      > Reviewed-on: https://chromium-review.googlesource.com/c/1384316
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Mathias Bynens <mathias@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58387}
      
      Bug: v8:1982, chromium:855009
      Change-Id: I1ba22395477ec37e8e8c944000f9beade1e3250b
      Reviewed-on: https://chromium-review.googlesource.com/c/1386495Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58419}
      4edfaa1f
  2. 20 Dec, 2018 2 commits
  3. 15 Sep, 2016 1 commit
  4. 12 Jul, 2016 1 commit
  5. 30 Jun, 2016 1 commit
  6. 04 Apr, 2016 1 commit
  7. 01 Apr, 2016 1 commit
    • littledan's avatar
      Revert of Remove RegExp.prototype.source getter compat workaround (patchset #2... · 31e806eb
      littledan authored
      Revert of Remove RegExp.prototype.source getter compat workaround (patchset #2 id:20001 of https://codereview.chromium.org/1837843002/ )
      
      Reason for revert:
      TC39 decided that this compatibility fix should be standardized.
      
      Original issue's description:
      > Remove RegExp.prototype.source getter compat workaround
      >
      > The getter RegExp.prototype.source is specified in ES2015 to throw when
      > called on a non-RegExp instance, such as RegExp.prototype. We had previously
      > put in a compatibility workaround for all RegExp getters to make them
      > throw on access specifically with RegExp.prototype as the receiver; however,
      > we only have evidence that this is needed for properties other than source.
      > This patch removes the compatibility workaround for get RegExp.prototype.source
      > and gives it semantics precisely as per the ES2015 specification.
      >
      > R=adamk
      > BUG=chromium:581577,v8:4827
      > LOG=Y
      >
      > Committed: https://crrev.com/80803aa89e31839b8f73959776fa7e1923c6b461
      > Cr-Commit-Position: refs/heads/master@{#35086}
      
      R=adamk@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=chromium:581577,v8:4827
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1847783003
      
      Cr-Commit-Position: refs/heads/master@{#35180}
      31e806eb
  8. 28 Mar, 2016 1 commit
    • littledan's avatar
      Remove RegExp.prototype.source getter compat workaround · 80803aa8
      littledan authored
      The getter RegExp.prototype.source is specified in ES2015 to throw when
      called on a non-RegExp instance, such as RegExp.prototype. We had previously
      put in a compatibility workaround for all RegExp getters to make them
      throw on access specifically with RegExp.prototype as the receiver; however,
      we only have evidence that this is needed for properties other than source.
      This patch removes the compatibility workaround for get RegExp.prototype.source
      and gives it semantics precisely as per the ES2015 specification.
      
      R=adamk
      BUG=chromium:581577,v8:4827
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1837843002
      
      Cr-Commit-Position: refs/heads/master@{#35086}
      80803aa8
  9. 15 Mar, 2016 1 commit
    • littledan's avatar
      Put RegExp js code in strict mode · 80b1b2a4
      littledan authored
      src/js/regexp.js was one of the few files that was left in sloppy
      mode. The ES2017 draft specification requires that writes to
      lastIndex throw when the property is non-writable, and test262
      tests enforce this behavior. This patch puts that file in strict
      mode.
      
      BUG=v8:4504
      R=yangguo@chromium.org
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1776883005
      
      Cr-Commit-Position: refs/heads/master@{#34801}
      80b1b2a4
  10. 23 Feb, 2016 1 commit
    • littledan's avatar
      ES2015 web compat workaround: RegExp.prototype.flags => "" · b22b2588
      littledan authored
      It turns out that some old polyfill library uses
      RegExp.prototype.flags as a way of feature testing. It's not clear
      how widespread this is. For now, as a minimal workaround, we can
      return undefined from getters like RegExp.prototype.global when
      the receiver is RegExp.prototype. This patch implements that strategy
      but omits a UseCounter to make backports easier.
      
      R=adamk
      CC=yangguo@chromium.org
      BUG=chromium:581577
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1640803003
      
      Cr-Commit-Position: refs/heads/master@{#34201}
      b22b2588
  11. 22 Dec, 2015 3 commits
    • littledan's avatar
      Reland of Add web compat workarounds for ES2015 RegExp semantics (patchset #3... · 424ef009
      littledan authored
      Reland of Add web compat workarounds for ES2015 RegExp semantics (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ )
      
      Unexpectedly, websites depend on doing feature testing with
      RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      ES2015 newly throws exceptions for both of these. In order to enable shipping
      new ES2015 semantics, this patch puts in narrow workarounds for those two
      cases, keeping their old behavior. UseCounters are added for how often
      those particular cases come up, so we can see if it can be deprecated.
      
      This reland replaces problematic legacy const usage with var, to
      avoid issues with nosnap builds.
      
      R=yangguo
      CC=bmeurer
      BUG=v8:4637,v8:4617
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1545633002
      
      Cr-Commit-Position: refs/heads/master@{#33002}
      424ef009
    • bmeurer's avatar
      Revert of Add web compat workarounds for ES2015 RegExp semantics (patchset #3... · 08a1d1a2
      bmeurer authored
      Revert of Add web compat workarounds for ES2015 RegExp semantics (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ )
      
      Reason for revert:
      Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/5883
      
      Original issue's description:
      > Add web compat workarounds for ES2015 RegExp semantics
      >
      > Unexpectedly, websites depend on doing feature testing with
      > RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      > ES2015 newly throws exceptions for both of these. In order to enable shipping
      > new ES2015 semantics, this patch puts in narrow workarounds for those two
      > cases, keeping their old behavior. UseCounters are added for how often
      > those particular cases come up, so we can see if it can be deprecated.
      >
      > R=yangguo
      > BUG=v8:4637,v8:4617
      > LOG=Y
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      >
      > Committed: https://crrev.com/98f819c3e0c92d54a306cdacadda73cf96d21b52
      > Cr-Commit-Position: refs/heads/master@{#32997}
      
      TBR=yangguo@google.com,yangguo@chromium.org,littledan@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4637,v8:4617
      
      Review URL: https://codereview.chromium.org/1546493003
      
      Cr-Commit-Position: refs/heads/master@{#32999}
      08a1d1a2
    • littledan's avatar
      Add web compat workarounds for ES2015 RegExp semantics · 98f819c3
      littledan authored
      Unexpectedly, websites depend on doing feature testing with
      RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      ES2015 newly throws exceptions for both of these. In order to enable shipping
      new ES2015 semantics, this patch puts in narrow workarounds for those two
      cases, keeping their old behavior. UseCounters are added for how often
      those particular cases come up, so we can see if it can be deprecated.
      
      R=yangguo
      BUG=v8:4637,v8:4617
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1543723002
      
      Cr-Commit-Position: refs/heads/master@{#32997}
      98f819c3
  12. 25 Nov, 2015 1 commit
    • bmeurer's avatar
      [es6] Correct parsing of regular expression literal flags. · 2732a6ad
      bmeurer authored
      ES6 section 12.2.8.1 states that flags for regular expression literals
      must be checked during parsing and invalid flags are early errors. This
      change adapts the Scanner and (Pre)Parser to act according to the spec.
      
      This is also a prerequisite to unify the handling of literal creation
      (for Objects, Arrays, Regexps, and at some point Classes).
      
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1472323002
      
      Cr-Commit-Position: refs/heads/master@{#32273}
      2732a6ad
  13. 19 Nov, 2015 1 commit
  14. 05 Nov, 2015 2 commits
  15. 04 Nov, 2015 5 commits
  16. 03 Nov, 2015 3 commits
  17. 21 Nov, 2014 1 commit
  18. 22 Nov, 2013 1 commit
  19. 25 Jul, 2013 1 commit
    • machenbach@chromium.org's avatar
      Migrate more tests from blink repository. · 3c9efdee
      machenbach@chromium.org authored
      The stand-alone test driver is changed a bit:
      - Don't use the errorMessage list. It is used differently in the embedded driver. There it collects parser errors - instead of failure messages.
      - Remove html links in description texts. Some test descriptions print a web reference.
      
      The migrated tests fall into 3 categories:
      1. Tests outside fast/js
      2. Tests that print FAIL messages (and also expect those) - these tests should be examined later if they make sense at all
      3. Tests with html links in the test description
      
      R=jkummerow@chromium.org
      
      Review URL: https://codereview.chromium.org/20280003
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      3c9efdee