• Leszek Swirski's avatar
    [offthread] Check memory pressure after merging · 5b878283
    Leszek Swirski authored
    Currently, there is no indication of memory pressure after merging pages
    from off-thread space into the heap. This can mean that with lots of
    off-thread compilations, we eventually run out of pages in the memory
    allocator.
    
    Now, trigger a critical memory pressure notification after merging if
    the old generation is close to being unexpandable. We may want to add
    other heuristics here (e.g. moderate memory pressure if the heap is
    highly fragmented), or possibly add similar checks when the off-thread
    space is initialized, but this works for now.
    
    As a drive-by, inline the NotifyOffThreadSpaceMerged call into the
    off-thread factory merge -- we already do a bunch of special merging
    stuff in there, and nowhere else, so we may as well be explicit in what
    we're actually doing. This also allows us to do a pre-check on old-space
    size and hard limits just before the merge.
    
    Bug: chromium:1011762
    Change-Id: Ic2b46057cf751bd7eaf787f46beaaf4df36e78fe
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131915
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67357}
    5b878283
heap.cc 237 KB