• Jakob Gruber's avatar
    Clamp properly in the String.p.indexOf reduction · 232bf1ff
    Jakob Gruber authored
    This fixes a bug introduced in crrev.com/c/2660995.
    String.prototype.indexOf must clamp the `position` argument as per
    step:
    
      7. Let start be the result of clamping pos between 0 and len.
    
    Source: tc39.es/ecma262/#sec-string.prototype.indexof
    
    Previously, this was done in the StringIndexOf builtin, but the recent
    refactor changed builtin implementations to match the spec more
    closely (i.e. to clamp in String.prototype.indexOf, not
    StringIndexOf). This means we now have to clamp in
    JSCallReducer::ReduceStringPrototypeIndexOf.
    
    Tbr: neis@chromium.org
    Bug: chromium:1194869
    Change-Id: I5af8d41b50f4905453f03079e3ee6d46186536db
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2799359Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73772}
    232bf1ff
regress-1194869.js 640 Bytes