• ulan's avatar
    New algorithm for selecting evacuation candidates · 5e87a099
    ulan authored
    This lifts the sqrt(n) limit on number of evacuation candidates,
    replaces O(n * sqrt(n)) algorithm with O(n*log(n)) algorithm, and
    removes hard-coded constants.
    
    Evacuation candidates are selected as follows:
    
    1) Sort pages from the most free to the least free.
    
    2) Select the first m pages as evacuation candidates such that m is as
    large as possible under the two conditions:
    
    - The total size of live objects in the first m pages does not exceed
    the given limit. This is based on the assumption that the evacuation cost is
    proportional to the total size of moved objects.
    
    - The fragmentation of the (m+1)-th page does not exceed the given
    limit.
    
    Review URL: https://codereview.chromium.org/1038313003
    
    Cr-Commit-Position: refs/heads/master@{#28651}
    5e87a099
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...
identity-map.cc Loading commit data...
identity-map.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...
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...