v8/test
Simon Zünd b15c02d0e1 Store JSMessageObject on rejected promises
When V8 throws an uncaught exception, we store a JSMessageObject
with a stack trace and source positions on the isolate itself.
The JSMessageObject can be retrieved by a TryCatch scope
and is used by the inspector to provide additional information to the DevTools
frontend (besides the exception).

Introducing top-level await for REPL mode causes all thrown exceptions
to be turned into a rejected promise. The implicit catch block that does this
conversion clears the JSMessageObject from the isolate as to not leak memory.

This CL preserves the JSMessageObject when the debugger is active and stores
the JSMessageObject on the rejected promise itself. The inspector is changed
to retrieve the JSMessageObject in the existing catch handler and pass the
information along to the frontend.

Drive-by: This CL removes a inspector test that made assumptions when a promise
is cleaned up by the GC. These assumptions no longer hold since we hold on to
the promise longer.

Bug: chromium:1021921
Change-Id: Id0380e2cf3bd79aca05191bc4f3c616f6ced8db7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967375
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65497}
2019-12-18 12:07:03 +00:00
..
benchmarks Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
cctest [torque] Load and store bitfields 2019-12-17 18:24:26 +00:00
common [wasm] Clean up WASM_CALL_INDIRECT macros 2019-11-28 14:44:06 +00:00
debugger Remove and update some outdated TODO(mstarzinger). 2019-12-13 10:18:04 +00:00
fuzzer Revert "[wasm] Share native modules compiled from the same bytes" 2019-12-02 16:51:44 +00:00
inspector Store JSMessageObject on rejected promises 2019-12-18 12:07:03 +00:00
intl [Intl] Prototype Intl.DisplayNames 2019-11-18 21:48:22 +00:00
js-perf-test [js-perf-tests] Adds performance tests for BigInt subtraction 2019-10-22 13:32:09 +00:00
memory [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +00:00
message V8 Wasm locations should always be based on byte offsets 2019-11-05 14:53:45 +00:00
mjsunit Revert "[test] Enable compiler/deopt-array-builtins on gc_stress" 2019-12-18 12:05:58 +00:00
mkgrokdump [heap] Enable Verify for RO_SPACE when it is shared 2019-11-04 09:55:45 +00:00
mozilla Remove and update some outdated TODO(mstarzinger). 2019-12-13 10:18:04 +00:00
test262 Remove and update some outdated TODO(mstarzinger). 2019-12-13 10:18:04 +00:00
torque [torque] Load and store bitfields 2019-12-17 18:24:26 +00:00
unittests [torque] use macro keyword for methods 2019-12-16 10:36:58 +00:00
wasm-api-tests [wasm] Clean up WASM_CALL_INDIRECT macros 2019-11-28 14:44:06 +00:00
wasm-js [wasm] Update wasm spec tests 2019-12-16 14:14:39 +00:00
wasm-spec-tests [mips][wasm] Update wasm spec tests 2019-12-17 10:40:06 +00:00
webkit [class] Improve error message for calling anonymous class constructors 2019-12-05 21:13:07 +00:00
BUILD.gn [preparser] deprecate stand-alone "preparser" test-suite 2019-11-20 08:52:59 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00