Chromium Code Reviews
        
  Description[runtime] Allocate space for computed property names.
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}
Committed: https://chromium.googlesource.com/v8/v8/+/399f36b5185deafa263def840d8f98bb61ff3ab4
   
  Patch Set 1 #Patch Set 2 : Allow Uninitialized keys. #Patch Set 3 : Count total number of properties. #Patch Set 4 : Fix evaluation order warning. #Patch Set 5 : Hide last slot with number in ConstantProperties class. #Patch Set 6 : Delete comments. #Patch Set 7 : Rebase. #Patch Set 8 : Fix some variable names. #
      Total comments: 16
      
     
  
  
  
  Patch Set 9 : Address review comments. #Patch Set 10 : Rebase. #Patch Set 11 : Fix typo. #
      Total comments: 1
      
     
  
  
  
  Patch Set 12 : Do not store size if it can be computed. #Patch Set 13 : Comments and reorder. #
 Messages
    Total messages: 76 (60 generated)
     
  
  
       | 
    ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||