• mlippautz's avatar
    [heap] Move to two-level free-list · da3b2661
    mlippautz authored
    Before this CL, free memory (FreeSpace) has been managed through a global free
    list that contains single-linked lists of FreeSpace nodes for each size class.
    
    We move away from this approach to a global two-level doubly-linked list that
    refers to singly-linked lists of FreeSpace nodes on the corresponding pages.
    This way we can refill on a page-level granularity. Furthermore, it also enables
    constant-time eviction of pages from the free list.
    
    BUG=chromium:524425
    LOG=N
    
    Review URL: https://codereview.chromium.org/1772733002
    
    Cr-Commit-Position: refs/heads/master@{#34853}
    da3b2661
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra 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...
CODE_OF_CONDUCT.md 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...
snapshot_toolchain.gni Loading commit data...