• Benedikt Meurer's avatar
    [cleanup] Refactor CodeStubAssembler::NewConsString(). · 8dd8bd56
    Benedikt Meurer authored
    Remove the duplication of the allocation logic via the
    AllocateOneByteConsString and AllocateTwoByteConsString helpers, and
    instead just have a diamond to figure out the result map. This reduces
    code size of the StringAdd_CheckNone builtin and even seems to be
    beneficial performance wise. It seems to improve the performance on
    the `bench-dom-serialize.js` test by around 1% just doing this.
    
    Drive-by-fix: Remove the `flags` from CodeStubAssembler::StringAdd()
    and its helpers, since we no longer support pretenuring of string
    additions (for quite a while now).
    
    Bug: v8:8834, v8:8939
    Change-Id: Ia23e02c974b5f572930fcd45be0643094ab2fa98
    Doc: https://bit.ly/fast-string-concatenation-in-javascript
    Reviewed-on: https://chromium-review.googlesource.com/c/1498133
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59993}
    8dd8bd56
code-stub-assembler.h 169 KB