• Nikolaos Papaspyrou's avatar
    [heap] Fix bug in efficiency and collection rate metrics · a44803dc
    Nikolaos Papaspyrou authored
    When calculating the GC collection rate, we assume that the start object
    size (before GC) is non zero. It appears that this is not always the
    case, not only because of tests that explicitly trigger GC, but also in
    Chrome, when the --gc-interval flag is used with a small interval value.
    
    Furthermore, efficiency calculation (freed bytes over GC duration)
    assumes that the duration of the GC is non zero. However, if the clock
    resolution is not small enough and the entire GC is very short, the
    timed value appears to be zero. This again leads to NaN values showing
    in metrics and CHECKs failing and has already been fixed for Oilpan
    (crrev.com/c/3723499).
    
    This CL fixes these two issues.
    
    Change-Id: I902b2e9740d9750a2b6463a00289625500c4c0d6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810393Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82205}
    a44803dc
Name
Last commit
Last update
.github Loading commit data...
bazel 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...
.bazelrc 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...
.style.yapf Loading commit data...
.vpython Loading commit data...
.vpython3 Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.bazel 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...
LOONG_OWNERS 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...
WORKSPACE Loading commit data...
codereview.settings Loading commit data...