dd580e8fdf
When given a sticky regexp s.t. lastIndex > subject.length, the following should happen: 1. exec returns null (= no match) 2. lastIndex is reset to 0. This is usually done by the RegExp.p.exec builtin; but in some cases we take different paths and try to re-implement the parts of exec that we need. One of these cases was in %StringReplaceNonGlobalRegExpWithFunction. Here, we set lastIndex to 0 but then incorrectly called into RegExpImpl::Exec. REI::Exec started matching with lastIndex == 0, which is just plain wrong. With this CL we now correctly omit the REI::Exec call and return null. Bug: chromium:937681, v8:5361 Change-Id: I6bb1114a6b92ed3c6e63ec7f6ec2df4b95a19b4c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514679 Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60169} |
||
---|---|---|
.. | ||
benchmarks | ||
cctest | ||
common | ||
debugger | ||
fuzzer | ||
inspector | ||
intl | ||
js-perf-test | ||
memory | ||
message | ||
mjsunit | ||
mkgrokdump | ||
mozilla | ||
preparser | ||
test262 | ||
torque | ||
unittests | ||
wasm-js | ||
wasm-spec-tests | ||
webkit | ||
BUILD.gn | ||
OWNERS |