• Andreas Haas's avatar
    [wasm] Throttle the amount of unfinished work in async compilation · d0ea6140
    Andreas Haas authored
    This CL does same changes as
    https://chromium-review.googlesource.com/c/540763/, but for async
    compilation instead of for parallel compilation. The biggest difference
    is that for async compilation I start background tasks again when half
    of the memory is free again and not when all the memory is free again.
    
    Original description:
    
    It is possible that the foreground task is unable to clear the
    scheduled unfinished work, eventually leading to an OOM.
    
    We use either code_range on 64 bit, or the capacity of the code space,
    as a heuristic for how much memory to use for compilation.
    
    The change avoids blocking the background threads while we're over the
    memory threshold. This is to avoid starving the GC.
    
    R=mtrofin@chromium.org
    
    Change-Id: I7399e2474f72f6727e6e50176dd7ba95cdcd3238
    Reviewed-on: https://chromium-review.googlesource.com/543477
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46120}
    d0ea6140
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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...
.gitignore Loading commit data...
.gn 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...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...