• jgruber's avatar
    [heap] Initialize the owner on each page after lospace allocation · bbf3c697
    jgruber authored
    The least two bits of the owner field of a Page are used to determine
    whether the Page is part of a large object. If these bits are not equal
    to 0x11, the page is part of a large object and needs special handling
    e.g. in MemoryChunk::FromAnyPointerAddress to determine which chunk it
    belongs to.
    
    This CL fixes an issue in which the store buffer overflows after
    a large object space allocation but before the object has been fully
    initialized. Store buffer overflow handling attempts to look up the
    chunk of a page, but fails to do so correctly since the page's owner
    field has not yet been initialized.
    
    This CL ensures that the owner field of all pages belonging to a large
    object allocation are initialized to a value that is interpreted
    correctly.
    
    BUG=chromium:672041
    
    Committed: https://crrev.com/9b6808bfb5366beebe3af30a06f9851edb2039d4
    Review-Url: https://codereview.chromium.org/2565713002
    Cr-Original-Commit-Position: refs/heads/master@{#41641}
    Cr-Commit-Position: refs/heads/master@{#41687}
    bbf3c697
Name
Last commit
Last update
..
OWNERS Loading commit data...
array-buffer-tracker-inl.h Loading commit data...
array-buffer-tracker.cc Loading commit data...
array-buffer-tracker.h Loading commit data...
code-stats.cc Loading commit data...
code-stats.h Loading commit data...
gc-idle-time-handler.cc Loading commit data...
gc-idle-time-handler.h Loading commit data...
gc-tracer.cc Loading commit data...
gc-tracer.h Loading commit data...
heap-inl.h Loading commit data...
heap.cc Loading commit data...
heap.h Loading commit data...
incremental-marking-inl.h Loading commit data...
incremental-marking-job.cc Loading commit data...
incremental-marking-job.h Loading commit data...
incremental-marking.cc Loading commit data...
incremental-marking.h Loading commit data...
mark-compact-inl.h Loading commit data...
mark-compact.cc Loading commit data...
mark-compact.h Loading commit data...
marking.h Loading commit data...
memory-reducer.cc Loading commit data...
memory-reducer.h Loading commit data...
object-stats.cc Loading commit data...
object-stats.h Loading commit data...
objects-visiting-inl.h Loading commit data...
objects-visiting.cc Loading commit data...
objects-visiting.h Loading commit data...
page-parallel-job.h Loading commit data...
remembered-set.h Loading commit data...
scavenge-job.cc Loading commit data...
scavenge-job.h Loading commit data...
scavenger-inl.h Loading commit data...
scavenger.cc Loading commit data...
scavenger.h Loading commit data...
slot-set.h Loading commit data...
spaces-inl.h Loading commit data...
spaces.cc Loading commit data...
spaces.h Loading commit data...
store-buffer.cc Loading commit data...
store-buffer.h Loading commit data...