Permalink
Please
sign in to comment.
Browse files
deps: cherry-pick 907d7bc from upstream V8
Original commit message:
[promise] Implement Swallowed Rejection Hook.
This extends the current Promise Rejection Hook with two new events
kPromiseRejectAfterResolved
kPromiseResolveAfterResolved
which are used to detect (and signal) misuse of the Promise constructor.
Specifically the common bug like
new Promise((res, rej) => {
res(1);
throw new Error("something")
});
where the error is silently swallowed by the Promise constructor without
the user ever noticing can be caught via this hook.
Doc: https://goo.gl/2stLUY
Bug: v8:7919
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I890a7e766cdd1be88db94844fb744f72823dba33
Reviewed-on: https://chromium-review.googlesource.com/1126099
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54309}
Refs: v8/v8@907d7bc
Backport-PR-URL: #21668
PR-URL: #21838
Refs: nodejs/promises-debugging#8
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>- Loading branch information...
Showing
with
149 additions
and 45 deletions.
- +1 −1 common.gypi
- +3 −1 deps/v8/include/v8.h
- +28 −6 deps/v8/src/builtins/builtins-promise-gen.cc
- +4 −3 deps/v8/src/builtins/builtins-promise-gen.h
- +4 −0 deps/v8/src/compiler/js-call-reducer.cc
- +1 −2 deps/v8/src/isolate.cc
- +20 −0 deps/v8/src/runtime/runtime-promise.cc
- +3 −1 deps/v8/src/runtime/runtime.h
- +85 −31 deps/v8/test/cctest/test-api.cc
0 comments on commit
328c899