• Benedikt Meurer's avatar
    [turbofan] Lower FastNew*Elements operators to inline allocations. · d9057b55
    Benedikt Meurer authored
    Further optimize the
    
      new Array(n)
    
    expressions by also inlining the backing store allocation into TurboFan
    optimized code. Currently these backing store allocations cannot be
    eliminated by escape analysis and can also not be optimized further by
    the memory optimizer (i.e. no allocation folding and not write barrier
    elimination) yet, but this can be done in follow-up CLs.
    
    This yields another ~5% improvement on the ARES6 ML benchmark (steady
    state).
    
    Drive-by-fix: Add support for loops to the GraphAssembler. This was
    necessary to implement the initialization loops in for the backing
    store allocations in the EffectControlLinearizer.
    
    Bug: v8:6399, v8:6901
    Change-Id: I759d6802db01eb797e78c7d82d82caaee3463e16
    Reviewed-on: https://chromium-review.googlesource.com/705934Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48352}
    d9057b55
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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...
.editorconfig Loading commit data...
.gitignore Loading commit data...
.gn 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...
Makefile Loading commit data...
Makefile.android 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...