Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v16.4.0 proposal #39031

Merged
merged 118 commits into from
Jun 23, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
a71df76
dns: allow `--dns-result-order` to change default dns verbatim
oyyd Apr 6, 2021
f959cb3
worker: do not look up context twice in PostMessage
addaleax May 23, 2021
7d35fa7
tools: update gyp-next to v0.9.1
gengjiawen May 31, 2021
db4b192
src: add not-weak DCHECK to PersistentToLocal::Strong
addaleax May 31, 2021
82c2939
crypto: add missing rand.h include
codebytere May 31, 2021
17a9846
doc: fix .mjs syntax in crypto.md
himself65 Jun 1, 2021
00c20e6
tools,doc: forbid CJS globals in ESM code snippets
aduh95 Jun 1, 2021
7de57d4
build: dont-land gyp-next PRs on LTS branches
targos Jun 1, 2021
3481b02
doc: mark Node.js v15.x as EOL
aduh95 Jun 1, 2021
f6964dc
doc: clarify when `readable._read(...)` is called
sploders101 May 18, 2021
0706565
tools: bump remark-preset-lint-node to 2.3.0
Trott Jun 2, 2021
69fa9e1
child_process: allow `options.cwd` receive a URL
XadillaX May 31, 2021
379b5f7
tls: tweak clientCertEngine argument parsing
codebytere Jun 2, 2021
5203c9c
build: fast-track npm PRs and dont-land them on LTS
targos Jun 1, 2021
8115e6e
async_hooks: stabilize part of AsyncLocalStorage
vdeturckheim Mar 9, 2021
74f5e30
node-api: rtn pending excep on napi_new_instance
legendecas May 24, 2021
03e75fd
async_hooks: switch between native and context hooks correctly
Qard Jun 3, 2021
6e93c17
crypto: use EVP_get_cipherbynid directly
codebytere Jun 2, 2021
6d5dc63
crypto: fix label cast in EVP_PKEY_CTX_set0_rsa_oaep_label
codebytere Jun 4, 2021
06afb8d
src: make InitializeOncePerProcess more flexible
codebytere Jun 1, 2021
651c58b
build: correct Xcode spelling in .gitignore
bl-ue Jun 1, 2021
e87cd45
child_process: refactor to use `validateBoolean`
Ayase-252 Jun 4, 2021
f40725f
vm: use missing validator
VoltrexKeyva Jun 4, 2021
0f65e41
debugger: reduce scope of eslint disable comment
Trott Jun 6, 2021
9ba5518
src: skip test_fatal/test_threads for Debug builds
danbev May 25, 2021
1799ea3
crypto: use compatible version of EVP_CIPHER_name
codebytere Jun 4, 2021
08b2a4a
src,test: raise error for --enable-fips when no FIPS
danbev May 31, 2021
5b5e07a
meta: update label-pr-config
targos Jun 6, 2021
ec3e5b4
node-api: avoid SecondPassCallback crash
mhdawson Jun 2, 2021
336571f
Revert "http: make HEAD method to work with keep-alive"
targos Jun 6, 2021
70af146
deps: upgrade npm to 7.16.0
npm-robot Jun 3, 2021
1f10e84
test: suppress warning in test_environment.cc
danbev May 31, 2021
e939e24
build: don't pass python override to V8 build
richardlau Jun 8, 2021
7a7c058
doc: mark util.inherits as legacy
VoltrexKeyva Jun 1, 2021
711916a
debugger: remove unnecessary boilerplate copyright comment
Trott Jun 6, 2021
9bf9ddb
tools: refactor snapshot builder
joyeecheung May 26, 2021
99161b0
url,src: simplify ipv6 logic by using uv_inet_pton
XadillaX May 29, 2021
ff8313c
src: throw error in LoadBuiltinModuleSource when reading fails
joyeecheung May 28, 2021
be5101e
tools: update ESLint to 7.28.0
lpinca Jun 7, 2021
173292b
build: fix commit-queue default branch
mmarchini Jun 10, 2021
0bdeeda
doc: update write callback documentation
simoneb Jun 7, 2021
f903ad8
doc: add missing semis after classes
RaisinTen Jun 4, 2021
e82111f
test: http outgoing _headers setter null
ycjcl868 Jun 1, 2021
5218fe8
doc: fixed typo in process.md
maks-der Jun 5, 2021
405b50c
doc: use `await` in filehandle.truncate() snippet
RA80533 Jun 5, 2021
81bbeab
test: improve coverage of lib/events.js
pd4d10 May 7, 2021
7b21999
doc: fix markup for aesImportParams
tniessen Jun 2, 2021
f817c2d
tools: fix typo in commit-queue.sh
bl-ue Jun 10, 2021
a19170e
doc: clarify that only one Python version is required to build
bl-ue Jun 1, 2021
0c90fd8
tools: avoid crashing CQ when git push fails
aduh95 Jan 10, 2021
8c7b2ba
doc,fs: remove experimental status for WHATWG URL as path
aduh95 May 31, 2021
f7724ab
node-api: avoid crashing on passed-in null string
gabrielschulhof Jun 4, 2021
c0d236f
build: make build-addons errors fail the build
richardlau Jun 9, 2021
637c1fa
lib: refactor debuglog init
aduh95 May 29, 2021
51561f3
doc: add missing changelog links
aduh95 Jun 12, 2021
f652284
test: remove obsolete TLS test
Trott Jun 11, 2021
92ed1c6
module: fix legacy `node` specifier resolution to resolve `"main"` field
aduh95 Jun 9, 2021
ed91379
doc: clearify that http does chunked encoding itself
micromaomao Jun 22, 2019
e82ef41
deps: update V8 to 9.1.269.36
targos Jun 10, 2021
1853127
build: reset embedder string to "-node.0"
targos Jun 10, 2021
7c61c6e
deps: V8: un-cherry-pick bd019bd
refack Mar 27, 2019
4ef37c8
deps: V8: patch register-arm64.h
refack May 22, 2019
8ed2583
deps: V8: forward declaration of `Rtl*FunctionTable`
refack May 22, 2019
3c9a755
deps: make v8.h compatible with VS2015
joaocgreis Nov 1, 2019
1a7c8a1
deps: fix V8 build issue with inline methods
gengjiawen Oct 14, 2020
eac377b
deps: V8: backport aaacffa1e003
targos Apr 19, 2021
bf7aa9f
deps: silence irrelevant V8 warnings
targos Jan 30, 2021
7197fce
deps: V8: cherry-pick d59db06bf542
targos Apr 17, 2021
f56c785
deps: V8: cherry-pick c0fceaa0669b
targos May 17, 2021
3433559
deps: V8: cherry-pick 272445f10927
targos May 17, 2021
3c37396
deps: V8: cherry-pick 5f4413194480
targos May 17, 2021
3c6c28b
deps: V8: cherry-pick 4c074516397b
targos May 17, 2021
c93f357
deps: V8: cherry-pick fa4cb172cde2
targos May 17, 2021
2a292cf
tools: update V8 gypfiles for 9.1
targos Mar 3, 2021
32961c4
test: fix V8 serdes test for V8 9.1
targos Mar 27, 2021
1816d46
test: adapt test-linux-perf to V8 changes
targos May 18, 2021
6111671
test: adapt abort tests for new Windows code
targos May 19, 2021
864fe99
deps: make V8 9.1 abi-compatible with 9.0
targos Mar 8, 2021
ded8335
lib: make primordials Promise methods safe
aduh95 May 12, 2021
10370c5
src: fix multiple AddLinkedBinding() calls
addaleax Jun 11, 2021
4174f13
net: use missing validator
VoltrexKeyva Jun 9, 2021
4c6193f
report: generates report on threads with no isolates
legendecas Jun 10, 2021
c20e28e
stream: fix pipeline pump
ronag Jun 11, 2021
858f66e
doc: add missing parameter types
VoltrexKeyva Jun 12, 2021
902bb85
src: refactor to use locale functions
RaisinTen Jun 12, 2021
a1d0aef
tools: update doctool dependencies, migrate to ESM
targos Jun 8, 2021
d50df5d
test: fix typo in test-http2-invalidheaderfield.js
eltociear Jun 13, 2021
c6aa685
deps: upgrade npm to 7.17.0
npm-robot Jun 10, 2021
cf9d686
crypto: fix aes crash when tag length too small
XadillaX Jun 3, 2021
7f225a0
Revert "build: work around bug in MSBuild v16.10.0"
targos Jun 9, 2021
631856e
errors: add ERR_DEBUGGER_ERROR
Trott Jun 13, 2021
dc92181
debugger: use ERR_DEBUGGER_ERROR in debugger client
Trott Jun 13, 2021
b43cb69
debugger: use error codes in debugger REPL
Trott Jun 13, 2021
3d7892e
errors: add ERR_DEBUGGER_STARTUP_ERROR
Trott Jun 13, 2021
1e8bdab
debugger: use ERR_DEBUGGER_STARTUP_ERROR in _inspect.js
Trott Jun 13, 2021
bd92461
test: fix typo
houssemchebeb Jun 15, 2021
3ae2a0b
tools: fix typo
houssemchebeb Jun 15, 2021
1afff98
doc: fix typos
bl-ue Jun 15, 2021
5e9175f
test: fix name of variable in inspector-cli test
tniessen May 31, 2021
284d9c6
src: cleanup uv_fs_t regardless of success or not
legendecas Jun 10, 2021
5d92c09
src,url: separate some tables out of node_url.cc
XadillaX Jun 10, 2021
dce256b
doc: remove references to deleted freenode channels
devsnek Jun 15, 2021
5514305
lib: add JSDoc typings for child_process
VoltrexKeyva Apr 13, 2021
a53911b
test: improve buffer coverage
pd4d10 May 4, 2021
1fa724e
deps: upgrade npm to 7.18.1
npm-robot Jun 17, 2021
7b026d8
test: move inspector-cli tests to sequential
Trott Jun 19, 2021
e4f802d
debugger: rename internal library for clarity
Trott Jun 19, 2021
2aaf2f2
build: reconfigure when gyp files change on Windows
joyeecheung Jun 17, 2021
9d100aa
bootstrap: split NodeMainInstance::Run()
joyeecheung Jun 11, 2021
5f51729
bootstrap: move event loop handle checking into snapshot builder
joyeecheung Jun 11, 2021
f17dde8
lib: make internal/options lazy
joyeecheung Jun 10, 2021
fed6411
tools: update ESLint to 7.29.0
Trott Jun 19, 2021
3c7a7d9
src: allow to negate boolean CLI flags
targos Jun 13, 2021
c2b4fbb
lib: remove semicolon in preparation for babel/eslint-parser update
Trott Jun 19, 2021
78d2e0e
tools: update babel-eslint-parser to 7.14.5
Trott Jun 19, 2021
d2b972e
async_hooks: check for empty contexts before removing
bengl Jun 19, 2021
eddde6c
errors: don't rekey on primitive type
bcoe Jun 13, 2021
4b2085f
2021-06-23, Version 16.4.0 (Current)
danielleadams Jun 13, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
deps: V8: cherry-pick 272445f10927
Original commit message:

    [runtime] Fix promise hooks

    promiseCapability can be undefined.

    Bug: v8:11025
    Bug: chromium:1201113
    Change-Id: I9da8764820cee0db1f0c38ed2fff0e3afeb9a80e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2844649
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74117}

Refs: v8/v8@272445f

PR-URL: #38273
Backport-PR-URL: #38991
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
  • Loading branch information
targos committed Jun 14, 2021
commit 3433559a55db150b6dbd95dc4a6aa1588d24aa81
2 changes: 1 addition & 1 deletion common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
'v8_embedder_string': '-node.9',
'v8_embedder_string': '-node.10',

##### V8 defaults for Node.js #####

Expand Down
13 changes: 8 additions & 5 deletions deps/v8/src/builtins/promise-misc.tq
Original file line number Diff line number Diff line change
Expand Up @@ -134,39 +134,39 @@ transitioning macro RunContextPromiseHookResolve(implicit context: Context)(

@export
transitioning macro RunContextPromiseHookBefore(implicit context: Context)(
promiseOrCapability: JSPromise|PromiseCapability) {
promiseOrCapability: JSPromise|PromiseCapability|Undefined) {
RunContextPromiseHook(
ContextSlot::PROMISE_HOOK_BEFORE_FUNCTION_INDEX, promiseOrCapability,
PromiseHookFlags());
}

@export
transitioning macro RunContextPromiseHookBefore(implicit context: Context)(
promiseOrCapability: JSPromise|PromiseCapability, flags: uint32) {
promiseOrCapability: JSPromise|PromiseCapability|Undefined, flags: uint32) {
RunContextPromiseHook(
ContextSlot::PROMISE_HOOK_BEFORE_FUNCTION_INDEX, promiseOrCapability,
flags);
}

@export
transitioning macro RunContextPromiseHookAfter(implicit context: Context)(
promiseOrCapability: JSPromise|PromiseCapability) {
promiseOrCapability: JSPromise|PromiseCapability|Undefined) {
RunContextPromiseHook(
ContextSlot::PROMISE_HOOK_AFTER_FUNCTION_INDEX, promiseOrCapability,
PromiseHookFlags());
}

@export
transitioning macro RunContextPromiseHookAfter(implicit context: Context)(
promiseOrCapability: JSPromise|PromiseCapability, flags: uint32) {
promiseOrCapability: JSPromise|PromiseCapability|Undefined, flags: uint32) {
RunContextPromiseHook(
ContextSlot::PROMISE_HOOK_AFTER_FUNCTION_INDEX, promiseOrCapability,
flags);
}

transitioning macro RunContextPromiseHook(implicit context: Context)(
slot: Slot<NativeContext, Undefined|JSFunction>,
promiseOrCapability: JSPromise|PromiseCapability, flags: uint32) {
promiseOrCapability: JSPromise|PromiseCapability|Undefined, flags: uint32) {
if (!IsContextPromiseHookEnabled(flags)) return;
const maybeHook = *NativeContextSlot(slot);
if (IsUndefined(maybeHook)) return;
Expand All @@ -181,6 +181,9 @@ transitioning macro RunContextPromiseHook(implicit context: Context)(
case (capability: PromiseCapability): {
promise = Cast<JSPromise>(capability.promise) otherwise return;
}
case (Undefined): {
return;
}
}

try {
Expand Down
12 changes: 11 additions & 1 deletion deps/v8/test/mjsunit/promise-hooks.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//

// Flags: --allow-natives-syntax --opt --no-always-opt --no-stress-opt --deopt-every-n-times=0 --ignore-unhandled-promises

let log = [];
Expand Down Expand Up @@ -242,3 +242,13 @@ optimizerBailout(async () => {
});
basicTest();
exceptions();

(function regress1126309() {
function __f_16(test) {
test();
d8.promise.setHooks( undefined, () => {});
%PerformMicrotaskCheckpoint();
d8.promise.setHooks();
}
__f_16(async () => { await Promise.resolve()});
})();