• 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
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...