• 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
regexp.js 27.2 KB