Go to file
Michael Lippautz 908fc3c89c [heap] MinorMC: Split up PageMarkingItem further
PageMarkingItem is used to process OLD_TO_NEW regular and typed slots
sets. These slot sets are disjoint and do not share state that needs to
be modified, i.e., can be processed in parallel.

Rework PageMarkingItem to allows for parallel processing of slot sets on
a single page. Remove the lock as it should not be necessary.

The CL does not change the cost function for computing tasks.

Drive-by: Optimize marking a single object on filtering.

Bug: v8:12612
Change-Id: I6595d857d6df23d9d427bcdf5ecb3c9ea1c3c9ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4224451
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85694}
2023-02-06 18:33:35 +00:00
.github
bazel [bazel] Fix the icu build and buildifier warnings 2023-02-01 15:00:23 +00:00
build_overrides
custom_deps
docs
gni [ios] Enable ability to run V8 in jitless mode on iOS device 2023-01-31 18:41:43 +00:00
include Revert "[wasm-gc] Introduce wasm null object" 2023-02-03 16:57:44 +00:00
infra Configure PGO builders 2023-01-27 13:54:32 +00:00
samples
src [heap] MinorMC: Split up PageMarkingItem further 2023-02-06 18:33:35 +00:00
test [turboshaft] Fix typing of NaN ** 0 2023-02-06 15:59:56 +00:00
testing
third_party [reland] adds the ability for v8 to use sin/cos from libm 2022-12-02 21:59:04 +00:00
tools [heap] Refactor invoking of first pass callbacks 2023-02-06 18:12:48 +00:00
.bazelrc
.clang-format
.clang-tidy
.editorconfig
.flake8
.git-blame-ignore-revs [git blame] Add a few old refactors to .git-blame-ignore-revs 2023-01-04 15:43:38 +00:00
.gitattributes
.gitignore [tools] Improve run_perf.py 2023-01-31 10:24:16 +00:00
.gn
.mailmap
.style.yapf
.vpython3
.ycm_extra_conf.py
AUTHORS Revert "[turbofan] Optimize access to the length property of functions" 2023-01-23 08:58:42 +00:00
BUILD.bazel [codegen] Merge Turbo and Macro assemblers 2023-02-02 09:27:45 +00:00
BUILD.gn [ios] Fix an additional build failure on iOS. 2023-02-03 17:55:42 +00:00
CODE_OF_CONDUCT.md
codereview.settings
COMMON_OWNERS
DEPS Update V8 DEPS (trusted) 2023-02-06 04:01:53 +00:00
DIR_METADATA
ENG_REVIEW_OWNERS
INFRA_OWNERS
INTL_OWNERS
LICENSE
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LOONG_OWNERS
MIPS_OWNERS
OWNERS
PPC_OWNERS PPC/S390: cleanup owner files 2023-01-23 17:07:21 +00:00
PRESUBMIT.py [presubmit] Handle Windows path for header guard check 2022-12-13 17:30:02 +00:00
README.md
RISCV_OWNERS
S390_OWNERS PPC/S390: cleanup owner files 2023-01-23 17:07:21 +00:00
WATCHLISTS Add tests directory to watchlist 2023-02-06 13:41:05 +00:00
WORKSPACE

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.