• 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
spaces.cc 101 KB