[regexp] Don't use eats_at_least for backwards loops
The eats_at_least (EAL) value is applied in forward-directions only. Two reasons for that which are relevant to this CL: - EAL's of neighboring nodes are combined additively, irrespective of their read_backward value. - EatsAtLeastPropagator::VisitText uses the successor's eats_at_least_from_not_start value, which doesn't work properly for read_backwards successors (which may end at the start). A symptom of this bug was that we applied an incorrect EAL of 255 starting at the initial 'x' of /x(?<=^x{4})/); for subject strings shorter than 255 chars, this would result in an incorrect failure result. Bug: v8:11616 Change-Id: I4b2b1b78f0cea8f59e4beb1037ee46035d83c927 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2807596Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#73848}
Showing
Please
register
or
sign in
to comment