• peterwmwong's avatar
    [builtins] Port String.prototype.{padStart, padEnd} to CSA · 33b23529
    peterwmwong authored
    - Extract core StringPrototypeRepeat code into a TFS builtin (StringRepeat)
      - Assumes arguments are a string and smi (no range checks)
    - Add StringPrototypePadStart and StringPrototypePadEnd TFJ builtins
      - Added StringPadAssembler to ensure common behavior
    - Removed functionality from string.js
    
    A quick benchmark shows significant performance gains for unoptimized
    code (2.1x to 2.46x) and optimized code (1.03x - 1.56x).
    
    https: //github.com/peterwmwong/v8-perf/blob/master/string-pad/README.md
    Bug: v8:5049
    Change-Id: I6e4fe99fb62a3edb3d6906fd4f78b3576b5b0d13
    Reviewed-on: https://chromium-review.googlesource.com/720067
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48595}
    33b23529