• Michael Lippautz's avatar
    heap: Fix initial GC configuration for C++-only heaps · 7ef67b2e
    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: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75012}
    7ef67b2e
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...