• Anton Bikineev's avatar
    PCScan: Use bitmap for super page lookup · c91913f0
    Anton Bikineev authored
    In case giga-cage is enabled, for 64bit we can use a bitmap of
    super-pages to quickly validate during scanning if a super-page is valid.
    The bitmap must consist of only super-pages that correspond to the roots
    that have PCScan enabled.
    
    The CL also makes sure that the IsGigaCageEnabled() check is not
    performed for each word/scan-range/super-page. To achieve that, it
    templatizes scanning routines based on giga-cage presence. Having the
    functions parameterized by policies makes sure that there are no hidden
    performance costs (e.g. indirect calls).
    
    This improves scanning time on cnn:2020 by ~20%.
    
    Bug: 11297512
    Change-Id: I15226e0bfdf3f6d48c39421f4f54cf1aa5bafb4d
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2624677
    Commit-Queue: Anton Bikineev <bikineev@chromium.org>
    Reviewed-by: default avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#843466}
    c91913f0
pcscan.cc 23.2 KB