5b8782830b
Currently, there is no indication of memory pressure after merging pages from off-thread space into the heap. This can mean that with lots of off-thread compilations, we eventually run out of pages in the memory allocator. Now, trigger a critical memory pressure notification after merging if the old generation is close to being unexpandable. We may want to add other heuristics here (e.g. moderate memory pressure if the heap is highly fragmented), or possibly add similar checks when the off-thread space is initialized, but this works for now. As a drive-by, inline the NotifyOffThreadSpaceMerged call into the off-thread factory merge -- we already do a bunch of special merging stuff in there, and nowhere else, so we may as well be explicit in what we're actually doing. This also allows us to do a pre-check on old-space size and hard limits just before the merge. Bug: chromium:1011762 Change-Id: Ic2b46057cf751bd7eaf787f46beaaf4df36e78fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131915 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67357} |
||
---|---|---|
build_overrides | ||
custom_deps | ||
docs | ||
gni | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.flake8 | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
.vpython | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.gn | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
COMMON_OWNERS | ||
DEPS | ||
ENG_REVIEW_OWNERS | ||
INFRA_OWNERS | ||
INTL_OWNERS | ||
LICENSE | ||
LICENSE.fdlibm | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
MIPS_OWNERS | ||
OWNERS | ||
PPC_OWNERS | ||
PRESUBMIT.py | ||
README.md | ||
S390_OWNERS | ||
WATCHLISTS |
V8 JavaScript Engine
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://v8.dev/docs
Getting the Code
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies.
To stay up to date, run
git pull origin
gclient sync
For fetching all branches, add the following into your remote
configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*
fetch = +refs/tags/*:refs/tags/*
Contributing
Please follow the instructions mentioned at v8.dev/docs/contribute.