• Peter Marshall's avatar
    [builtins] Cleanup TypedArray constructors and reduce code size. · c326e73d
    Peter Marshall authored
    This CL is purely refactoring, no behavior changes.
    
    Remove InitializeBasedOnLength and combine it with a new Stub-ified
    TypedArrayInitialize which now allocates the buffer in both the
    on-heap and off-heap cases.
    
    Add TypedArrayInitializeWithBuffer because this was essentially a
    special case that didn't share much logic with Initialize.
    Factor out the common pieces into SetupTypedArray and AttachBuffer.
    
    We can also always pass in the elementsSize, so there is no need
    to calculate this again. LoadMapAndElementsSize is changed to 
    LoadMapForType.
    
    This reduces code size by ~8k.
    
    Bug: chromium:711275,chromium:701768
    Change-Id: I6ad8701e9c72f53bfd9484725fb82055be568c25
    Reviewed-on: https://chromium-review.googlesource.com/483481
    Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#44850}
    c326e73d
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...
.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...