1. 27 Feb, 2020 1 commit
    • Jakob Gruber's avatar
      Reland "[regexp] Correctly escape a backslash-newline sequence" · eea168f8
      Jakob Gruber authored
      This is a reland of 7d1f95d6
      
      The reland fixes a performance issue in that we incorrectly marked
      every pattern containing a backslash as needing to be escaped,
      resulting in a new string allocation instead of reusing the existing
      string.
      
      Original change's description:
      > [regexp] Correctly escape a backslash-newline sequence
      >
      > When printing the source string, a backslash-newline sequence ('\\\n',
      > '\\\r', '\\\u2028', '\\\u2029') should be formatted as '\n', '\r',
      > '\u2028', '\u2029', respectively. Prior to this CL it was formatted as
      > a backslash followed by the literal newline character.
      >
      > Bug: v8:8615
      > Change-Id: Iac90195c56ea1707ea8469066b0cc967ea87fc73
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016583
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Auto-Submit: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#65986}
      
      Bug: v8:8615,chromium:1046678
      Change-Id: I5d75904f1ea543ec679649668e54749821116442
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074159
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Auto-Submit: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66476}
      eea168f8
  2. 29 Jan, 2020 1 commit
    • Jakob Gruber's avatar
      Revert "[regexp] Correctly escape a backslash-newline sequence" · 390c7fed
      Jakob Gruber authored
      This reverts commit 7d1f95d6.
      
      Reason for revert: Speculative revert for https://crbug.com/1046678
      
      Original change's description:
      > [regexp] Correctly escape a backslash-newline sequence
      > 
      > When printing the source string, a backslash-newline sequence ('\\\n',
      > '\\\r', '\\\u2028', '\\\u2029') should be formatted as '\n', '\r',
      > '\u2028', '\u2029', respectively. Prior to this CL it was formatted as
      > a backslash followed by the literal newline character.
      > 
      > Bug: v8:8615
      > Change-Id: Iac90195c56ea1707ea8469066b0cc967ea87fc73
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016583
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Auto-Submit: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#65986}
      
      TBR=neis@chromium.org,jgruber@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:8615,chromium:1046678
      Change-Id: If28626a1c6868ed848310c0d30cf61a73326f2c1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2027452Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66022}
      390c7fed
  3. 27 Jan, 2020 1 commit
  4. 09 Jul, 2019 1 commit
  5. 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
  6. 20 Dec, 2018 2 commits
  7. 13 Apr, 2017 1 commit
  8. 07 Apr, 2017 1 commit
  9. 09 Feb, 2017 1 commit
  10. 15 Nov, 2016 1 commit
  11. 07 Nov, 2016 1 commit
  12. 28 Oct, 2016 1 commit
  13. 13 Oct, 2016 1 commit
    • jgruber's avatar
      [regexp] Port RegExp.prototype[@@replace] · 33a4faa4
      jgruber authored
      This moves the implementation of @@replace from regexp.js to builtins-regexp.cc
      (the TurboFan fast path) and runtime-regexp.cc (slow path). The fast path
      handles all cases in which the regexp itself is an unmodified JSRegExp
      instance, the given 'replace' argument is not callable and does not contain any
      '$' characters (i.e. we are doing a string replacement).
      
      BUG=v8:5339
      
      Review-Url: https://codereview.chromium.org/2398423002
      Cr-Commit-Position: refs/heads/master@{#40253}
      33a4faa4
  14. 14 Sep, 2016 2 commits
  15. 11 Feb, 2016 1 commit
  16. 16 Dec, 2015 1 commit
  17. 19 Nov, 2015 1 commit
  18. 05 Nov, 2015 2 commits
  19. 04 Nov, 2015 5 commits
  20. 03 Nov, 2015 2 commits
  21. 23 May, 2012 1 commit
  22. 15 Mar, 2012 1 commit
  23. 20 Feb, 2012 1 commit
  24. 15 Apr, 2011 1 commit
  25. 16 Feb, 2011 1 commit
  26. 07 Jan, 2011 1 commit
  27. 13 Dec, 2010 1 commit
  28. 09 Dec, 2010 1 commit
  29. 02 Dec, 2010 1 commit
  30. 19 Oct, 2010 3 commits