• 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
Name
Last commit
Last update
.github Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.mailmap Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
RISCV_OWNERS Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...