• Jakob Gruber's avatar
    [regexp] Dont attempt to match '^' before the start of the string · 1990b1e1
    Jakob Gruber authored
    This fixes an invalid assumption when emitting code for matching '^'
    (start of line) in multiline regexps and '\b', '\B' in general.
    
    What we used to do: if the current trace's cp_offset (the offset from
    the current position) was non-zero, we assumed that we were looking at
    subject string index 1 or greater (i.e.: not at the start of the string
    or before).
    
    This is no longer valid since cp_offsets can now be negative.
    
    This CL changes the logic to omit start- and bounds-checks only for
    strictly positive cp_offsets, where the above assumption still holds.
    
    Bug: chromium:996391
    Change-Id: I79be4fc295c6f0b63e41c13d1e91fdd00f2f2b42
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1771794
    Commit-Queue: Erik Corry <erikcorry@chromium.org>
    Auto-Submit: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarErik Corry <erikcorry@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#63424}
    1990b1e1
regexp-compiler.cc 146 KB