• Omer Katz's avatar
    heap: Reduce frequency of ephemeron processing · fe1dd740
    Omer Katz authored
    Instead of processing ephemerons during each incremental step on the
    mutator thread, this CL establishes the following:
    * Epehemerons are fully processed during every concurrent marking step.
    * Incremental marking on the mutator thread flushes ephemeron pairs
      every few steps. These steps also performs a single iteration of
      ephemeron processing every few steps (lower frequency than flushing
      to allow concurrent markers to do most of the work). Fixed-point
      processing during these tasks is not considered cost-effective.
    * Marking during the atomic pause performs full fixed-point processing.
    
    Bug: 986235, 1099415
    Change-Id: Id2980ef467b393b4062c5a1206ac1212233e6658
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2260015Reviewed-by: default avatarAnton Bikineev <bikineev@chromium.org>
    Reviewed-by: default avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Omer Katz <omerkatz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#784417}
    fe1dd740
heap.h 26.2 KB