Go to file
Anton Bikineev 6f9df3e74e cppgc: young-gen: Support young generation with pointer compression
Currently, young generation assumes that all the on-heap pointers are
compressed, which is currently not the case due to the backing-store
pointers in Blink. Fixing collections to have Member<> is not easy,
because the inlined collections may have the semantics that
 backing_pointer_ == inlined_buffer_;
where the inlined_buffer_ can be off-heap (e.g. on stack).

The CL introduces another type of barrier specifically for uncompressed
pointers. The followup is to use that barrier from Blink.

Bug: chromium:1029379
Change-Id: If0f519220658268dbdf915235c2e5afd7887dc0c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695358
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81105}
2022-06-13 12:42:30 +00:00
.github
bazel [heap] Remove all leftover uses of v8_enable_atomic_marking_state 2022-06-07 10:30:57 +00:00
build_overrides
custom_deps
docs
gni [wasm][revec] Introduce LinearScheduler 2022-06-09 02:05:22 +00:00
include cppgc: young-gen: Support young generation with pointer compression 2022-06-13 12:42:30 +00:00
infra [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
samples [sandbox] Remove V8_SANDBOX 2022-05-25 09:42:44 +00:00
src cppgc: young-gen: Support young generation with pointer compression 2022-06-13 12:42:30 +00:00
test [test] Move cctest/test-factory to unittests/codegen/ 2022-06-13 12:41:12 +00:00
testing [test] Migrate cctest/test-api-accessors.cc to unittests/ 2022-05-17 08:27:55 +00:00
third_party Roll inspector_protocol to 134539780e606a77d660d58bf95b5ab55875bc3c 2022-05-30 08:53:28 +00:00
tools [runtime] Inline Foreign fields into CallHandlerInfo 2022-06-10 18:26:57 +00:00
.bazelrc [bazel] Use v8_enable_handle_zapping only in debug builds. 2022-01-11 11:32:39 +00:00
.clang-format
.clang-tidy
.editorconfig
.flake8
.git-blame-ignore-revs
.gitattributes
.gitignore [infra] Fork test262-harness 2022-02-23 18:47:35 +00:00
.gn
.mailmap
.style.yapf [tools] Add basic pointer compression to grokdump 2022-02-04 14:35:26 +00:00
.vpython Verify mac-arm64 wheels for v8/.vpython spec. 2021-09-15 21:11:50 +00:00
.vpython3 [python3] Add missing python3 dependency 2022-06-07 14:55:36 +00:00
.ycm_extra_conf.py
AUTHORS [wasm][c-api] Add handle scope to fix wasm_module_validate 2022-06-09 16:46:23 +00:00
BUILD.bazel [turboshaft] add support for all JS machine-level operators 2022-06-10 15:17:20 +00:00
BUILD.gn [turboshaft] add support for all JS machine-level operators 2022-06-10 15:17:20 +00:00
CODE_OF_CONDUCT.md
codereview.settings
COMMON_OWNERS add tebbi@chromium.org to COMMON_OWNERS 2022-03-08 14:08:25 +00:00
DEPS Update V8 DEPS. 2022-06-13 03:45:50 +00:00
DIR_METADATA
ENG_REVIEW_OWNERS Add verwaest@ to ENG_REVIEW_OWNERS. 2021-09-16 15:00:57 +00:00
INFRA_OWNERS
INTL_OWNERS
LICENSE
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LOONG_OWNERS
MIPS_OWNERS
OWNERS Let infra owners own all dot files 2021-11-05 18:57:18 +00:00
PPC_OWNERS
PRESUBMIT.py [infra] use format strings instead of .format 2022-03-15 11:31:40 +00:00
README.md
RISCV_OWNERS
S390_OWNERS
WATCHLISTS Update WATCHLISTS 2022-02-24 11:37:36 +00:00
WORKSPACE [bazel] Cleanup style with Buildifier. 2022-01-11 10:00:36 +00:00

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.