• ishell's avatar
    [runtime] Better encapsulation of dictionary objects handling in lookup iterator. · 3fbb4521
    ishell authored
    Now LookupIterator follows the same pattern of prepare transition, apply transition
    and write value when adding new properties to dictionary objects.
    
    JSGlobalObject case:
    * Prepare transition phase ensures that there is a "transition" property cell
      prepared for receiving a value.
    * Apply transition phase does nothing.
    * Prepare for data property phase ensures that the existing property cell can
      receive the value.
    * Write value phase writes value directly to the current property cell.
    
    JSObject case:
    * Prepare transition phase prepares the object for receiving a data value (which
      could switch an object to dictionary mode).
    * Apply transition phase migrates object to a transition map. If the map happened
      to be a dictionary mode object's map then an uninitialized entry added to the
      properties dictionary.
    * Prepare for data property phase does nothing.
    * Write value phase just puts value to the properties dictionary.
    
    BUG=chromium:576312
    
    Review-Url: https://codereview.chromium.org/2127583002
    Cr-Commit-Position: refs/heads/master@{#37585}
    3fbb4521
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
x87 Loading commit data...
OWNERS Loading commit data...
access-compiler.cc Loading commit data...
access-compiler.h Loading commit data...
call-optimization.cc Loading commit data...
call-optimization.h Loading commit data...
handler-compiler.cc Loading commit data...
handler-compiler.h Loading commit data...
ic-compiler.cc Loading commit data...
ic-compiler.h Loading commit data...
ic-inl.h Loading commit data...
ic-state.cc Loading commit data...
ic-state.h Loading commit data...
ic.cc Loading commit data...
ic.h Loading commit data...
stub-cache.cc Loading commit data...
stub-cache.h Loading commit data...