• franzih's avatar
    [runtime] Allocate space for computed property names. · 399f36b5
    franzih authored
    Allocate space in the backing store for computed property names.
    
    The property backing store was pre-allocated for the constant
    properties up to the first non-constant (computed name) property.
    To use lowering for storing data properties in literals
    with computed property names effectively, a fast store is needed, i.e.,
    available space in the property backing store for properties
    with computed names.
    
    backing_store_size is the number of all properties (including
    computed names, but without __proto__)
    that is calculated in the ast and passed to the runtime function that allocates
    the property backing store. backing_store_size and
    constant_properties constitute a BoilerplateDescription.
    
    backing_store_size might be slightly too high because computed names
    can evaluate to the same name, but that should be a rare
    case so over-allocating is OK.
    
    If a property is __proto__, we don't store it as a regular
    property, because the map changes. Keep track of
    has_seen_proto in the parser to calculate the
    backing store size correctly.
    
    BUG=v8:5625
    
    Review-Url: https://codereview.chromium.org/2632503003
    Cr-Commit-Position: refs/heads/master@{#42576}
    399f36b5
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...