• fedor's avatar
    heap: make array buffer maps disjoint · 9e3676da
    fedor authored
    Remove intersection from the `std::map`s representing current live
    ArrayBuffers. While being simpler to understand, it poses significant
    performance issue for the active ArrayBuffer users (like node.js).
    
    Store buffers separately, and process them together during mark-sweep phase.
    
    The results of benchmarks are:
    
    $ ./node-slow bench && ./node-fast bench
    4997.4 ns/op
    4685.7 ns/op
    
    NOTE: `fast` - was a patched node.js, `slow` - unpatched node.js with vanilla v8.
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1316873004
    
    Cr-Commit-Position: refs/heads/master@{#30495}
    9e3676da
Name
Last commit
Last update
..
OWNERS 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.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...
memory-reducer.cc Loading commit data...
memory-reducer.h Loading commit data...
objects-visiting-inl.h Loading commit data...
objects-visiting.cc Loading commit data...
objects-visiting.h Loading commit data...
spaces-inl.h Loading commit data...
spaces.cc Loading commit data...
spaces.h Loading commit data...
store-buffer-inl.h Loading commit data...
store-buffer.cc Loading commit data...
store-buffer.h Loading commit data...