1. 01 Apr, 2021 1 commit
    • 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