• mlippautz's avatar
    [heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods · cfbd2561
    mlippautz authored
    Preparing the young generation for (real) non-contiguous backing memory, this
    change removes object masks that are used to compute containment in semi and new
    space. The masks are replaced by lookups for object tags and page headers, where
    possible.
    
    Details:
    - Use the fast checks (page header lookups) for containment in regular code.
    - Use the slow version that masks out the page start adress and iterates all
      pages of a space for debugging/verification.
    - The slow version works for off-heap/unmapped memory.
    - Encapsulate all checks for the old->new barrier in Heap::RecordWrite().
    
    BUG=chromium:581412
    LOG=N
    
    Review URL: https://codereview.chromium.org/1632913003
    
    Cr-Commit-Position: refs/heads/master@{#33857}
    cfbd2561
macro-assembler-x64.h 70.8 KB