• Michael Lippautz's avatar
    Reland "heap: Fix initial GC configuration for C++-only heaps" · 1f0b0ed0
    Michael Lippautz authored
    This is a reland of 7ef67b2e
    
    Manually checked that the CL was not the culprit breaking
      media_blink_unittests --gtest_filter=WebMediaPlayerImplTest.MemDumpReporting
    
    Original change's description:
    > heap: Fix initial GC configuration for C++-only heaps
    >
    > Heaps in V8 start with a large limit that is shrunk upon young
    > generation GCs, based on some liveness estimate. This provides best
    > throughput during startup while at the same time finding a reasonable
    > first limit.
    >
    > For C++ (embedder memory) there is no estimate which is why it was
    > piggy-backing on V8. This breaks in scenarios where no JS memory is
    > allocated.
    >
    > In this fix we start a memory reducer after embedder memory has hit
    > the activation threshold if no GC happened so far. As soon as a single
    > Scavenger has happened, we leave it up to the JS estimate to figure
    > out a limit. Memory reducing GCs will then find a regular limit based
    > on the initial live size.
    >
    > Drive-by: Give embedders the same activiation threshold of 8MB as JS.
    >
    > Bug: chromium:1217076
    > Change-Id: I8469696002ac2af8d75d6b47def062d2608387a1
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2944935
    > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
    > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#75012}
    
    Bug: chromium:1217076
    Change-Id: I482d8525379e33095834d5b41be8bb49bdd8a5d4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2949094
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75048}
    1f0b0ed0
incremental-marking.h 9.93 KB