node/deps/v8
Kevin Gibbons 74567b2115 deps: V8: backport da20a197a7f9
Original commit message:

    [builtins] Make Promise resolvers not keep resolved Promises alive

    Currently a Promise's resolve/reject functions unconditionally hold the
    Promise, plus a separate bit to track whether the Promise has been
    resolved. Instead, hold a single field with Promise|Undefined.

    This allows GC'ing a resolved Promise even if its resolvers are still
    alive.

    R=olivf@chromium.org

    Fixed: 42213031
    Change-Id: Ice645dbabb79e63dfcac8ae843cad95439d7a1f1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7646250
    Reviewed-by: Darius Mercadier <dmercadier@chromium.org>
    Commit-Queue: Kevin Gibbons <bakkot@gmail.com>
    Reviewed-by: Olivier Flückiger <olivf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#108183}

Refs: da20a197a7
Co-authored-by: Kevin Gibbons <bakkot@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/64101
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2026-06-25 22:06:06 +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: cherry-pick 0cc9eb22c0b0 2026-06-25 22:06:05 +00:00
infra deps: update V8 to 14.6.202.33 2026-04-24 18:01:28 +02:00
samples
src deps: V8: backport da20a197a7f9 2026-06-25 22:06:06 +00:00
test deps: V8: backport da20a197a7f9 2026-06-25 22:06:06 +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.