node/deps/v8
Robert Nagy d66c3a6c0f deps: V8: add CopyArrayBufferBytes API
Add v8::ArrayBuffer::CopyArrayBufferBytes and
v8::SharedArrayBuffer::CopyArrayBufferBytes, which copy a byte range
from one backing store to another. V8 clamps the byte range and handles
detached and immutable buffers: nothing is copied when the source is
detached or the target is detached or immutable, and the number of bytes
actually copied is returned. The SharedArrayBuffer overload uses a
relaxed-atomic memmove that honors the SharedArrayBuffer memory model.

Carried as a floating patch cherry-picked from:

    https://chromium-review.googlesource.com/c/v8/v8/+/7735151

That CL is authored by a Node.js collaborator (Ben Noordhuis) and is
expected to land upstream, so the floating patch should be easy to
maintain: it touches nothing but the public ArrayBuffer API and can be
dropped wholesale on the next V8 upgrade that includes it.
v8_embedder_string is bumped to -node.21 accordingly.

Refs: https://chromium-review.googlesource.com/c/v8/v8/+/7735151
Signed-off-by: Robert Nagy <ronagy@icloud.com>
PR-URL: https://github.com/nodejs/node/pull/63828
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
2026-06-12 23:26:18 +00:00
..
.github
bazel deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
build_overrides
custom_deps
docs
gni deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
include deps: V8: add CopyArrayBufferBytes API 2026-06-12 23:26:18 +00:00
infra deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
samples
src deps: V8: add CopyArrayBufferBytes API 2026-06-12 23:26:18 +00:00
test deps: V8: add CopyArrayBufferBytes API 2026-06-12 23:26:18 +00:00
testing
third_party deps: V8: cherry-pick highway@989a498fdf3 2026-04-24 18:01:31 +02:00
tools deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
.bazelrc
.clang-format deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
.clang-tidy
.editorconfig
.flake8
.git-blame-ignore-revs
.gitattributes
.gitignore deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
.gn deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
.mailmap
.style.yapf
.vpython3
.ycm_extra_conf.py
AUTHORS deps: V8: cherry-pick 0f024d4e66e0 2026-04-28 10:15:47 -04:00
BUILD.bazel build,test: test array index hash collision 2026-04-24 18:01:34 +02:00
BUILD.gn build,test: test array index hash collision 2026-04-24 18:01:34 +02:00
CODE_OF_CONDUCT.md
codereview.settings
COMMON_OWNERS deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
DEPS deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
DIR_METADATA
ENG_REVIEW_OWNERS
GEMINI.md
INFRA_OWNERS
INTL_OWNERS
LICENSE
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LOONG_OWNERS
MIPS_OWNERS
MODULE.bazel deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
OWNERS
PPC_OWNERS
PRESUBMIT.py
pyrightconfig.json
README.md
RISCV_OWNERS
S390_OWNERS
WATCHLISTS deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02: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.