• 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
ast.cc 34.6 KB