-
Michael Lippautz authored
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/+/2944935Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75012}
7ef67b2e