• 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
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...