v8/test/mjsunit/harmony
littledan 013e49f73c Change which ExceptionEvents are triggered by Promises
To make async/await catch prediction work well, this patch regularizes
the exception events sent to DevTools from various places in the Promise
lifecycle. The core is that there should be an exception event when the
rejection first starts, rather than when it is propagated.

- Several cases within Promise code which propagate errors are
  modified to not trigger a new ExceptionEvent in that case, such
  as .then on a rejected Promise and returning a rejected Promise
  from .then, as well as Promise.race and Promise.all.
- Make Promise.reject() create an ExceptionEvent, subject to catch
  prediction based on the Promise stack. This is important
  so that, e.g., if "await Promise.reject()" will trigger a new
  throw (rather than a silent rethrow of something that never
  triggered an event in the first place).

BUG=v8:5167

Review-Url: https://codereview.chromium.org/2244003003
Cr-Commit-Position: refs/heads/master@{#38847}
2016-08-24 00:20:50 +00:00
..
regress Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
array-concat-array-proto-getter.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-array-proto.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-dict-getter.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-dict.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-generic-dict.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
async-arrow-lexical-arguments.js [esnext] prototype runtime implementation for async functions 2016-05-17 00:27:51 +00:00
async-arrow-lexical-new.target.js [esnext] prototype runtime implementation for async functions 2016-05-17 00:27:51 +00:00
async-arrow-lexical-super.js [esnext] prototype runtime implementation for async functions 2016-05-17 00:27:51 +00:00
async-arrow-lexical-this.js [esnext] prototype runtime implementation for async functions 2016-05-17 00:27:51 +00:00
async-await-basic.js [test] Fix copy&paste error in bug link. 2016-08-18 08:44:32 +00:00
async-await-no-constructor.js [promise] Async/await edge case spec compliance fix 2016-08-06 01:00:47 +00:00
async-await-resolve-new.js [promise] Async/await edge case spec compliance fix 2016-08-06 01:00:47 +00:00
async-await-species.js [promise] separate PerformPromiseThen from PromiseThen 2016-08-04 22:56:45 +00:00
async-debug-basic.js [runtime] set AsyncFunctionNext/Throw to adapt arguments 2016-05-18 20:53:40 +00:00
async-debug-caught-exception.js Change which ExceptionEvents are triggered by Promises 2016-08-24 00:20:50 +00:00
async-debug-step-abort-at-break.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-debug-step-continue-at-break.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-debug-step-in-and-out.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-debug-step-in-out-out.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-debug-step-in.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-debug-step-nested.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-debug-step-next-constant.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-debug-step-next.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-debug-step-out.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-destructuring.js Destructuring/default tests for generators and async functions 2016-08-10 19:32:29 +00:00
async-function-debug-evaluate.js [test] add debugger tests for debug evaluation in async functions 2016-05-31 14:14:47 +00:00
async-function-debug-scopes.js [debug] implement intuitive semantics for stepping over await call. 2016-06-03 15:31:52 +00:00
async-function-stacktrace.js [parser] improve inferred function names for async arrow functions 2016-08-12 22:47:11 +00:00
atomics.js [Atomics] Make Atomics.store a builtin using TF 2016-05-03 17:28:34 +00:00
block-lazy-compile.js Preliminary code for block scopes and block contexts. 2011-08-11 16:29:28 +00:00
dataview-accessors.js Reland of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. (patchset #2 id:170001 of https://codereview.chromium.org/2113593002/ ) 2016-08-17 17:38:56 +00:00
debug-async-break-on-stack.js [esnext] Fix various callsites to use is_resumable, not is_generator 2016-05-31 17:15:15 +00:00
debug-async-break.js [esnext] Fix various callsites to use is_resumable, not is_generator 2016-05-31 17:15:15 +00:00
debug-async-function-async-task-event.js Async/await event listener test 2016-06-10 19:15:35 +00:00
debug-async-liveedit.js Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
do-expressions-control.js [fullcodegen] Implement control flow across do-expressions. 2016-02-24 11:06:08 +00:00
do-expressions.js Remove runtime flags for sloppy mode block scoping features 2016-04-08 00:30:20 +00:00
for-in.js Add flag for disallowing for-in initializers 2016-04-22 12:04:15 +00:00
function-sent.js Fix behavior of return on yield*. 2016-06-28 07:10:54 +00:00
futex.js [Atomics] Rename Atomics.futex*, remove Atomics.futexWakeOrRequeue 2016-07-13 18:34:03 +00:00
generators-turbo.js Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
generators.js Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
harmony-string-pad-end.js [esnext] implement StringPad spec changes from March TC39 meeting 2016-04-27 22:03:27 +00:00
harmony-string-pad-start.js [esnext] implement StringPad spec changes from March TC39 meeting 2016-04-27 22:03:27 +00:00
mirror-async-function-promise.js [test] add FunctionMirror and PromiseMirror tests for async functions 2016-06-21 16:31:52 +00:00
mirror-async-function.js [test] add FunctionMirror and PromiseMirror tests for async functions 2016-06-21 16:31:52 +00:00
module-parsing-eval.js Remove --harmony-modules flag and let embedder decide when modules are used 2016-03-15 00:45:00 +00:00
object-entries.js [esnext] handle elements in FastObjectValuesOrEntries() 2016-03-28 15:54:23 +00:00
object-get-own-property-descriptors.js [builtins] don't create keys for undefined property descriptors in O.gOPDs 2016-07-04 18:04:05 +00:00
object-values.js [esnext] handle elements in FastObjectValuesOrEntries() 2016-03-28 15:54:23 +00:00
private-symbols.js Remove runtime flags for Proxy and Reflect 2016-03-21 19:40:02 +00:00
private.js Update to ES2015 == semantics for Symbol/SIMD wrappers 2015-10-27 20:20:24 +00:00
regexp-change-exec.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-lookbehind.js [regexp] break recursion in mutually recursive capture/back references. 2015-12-16 06:58:58 +00:00
regexp-named-captures.js [regexp] Experimental support for regexp named captures 2016-06-15 06:49:55 +00:00
regexp-property-binary.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-blocks.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-char-class.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-disabled.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-enumerated.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-exact-match.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-general-category.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-lu-ui.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-scripts.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-special.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
set-prototype-of.js Fix corner-case behavior of JSObject::SetPrototype. 2015-10-23 14:52:26 +00:00
sharedarraybuffer.js [builtins] Migrate SharedArrayBuffer.byteLength to C++. 2016-07-07 19:44:23 +00:00
simd.js [JSON] implement indentation in the BasicJsonStringifier and expose via API. 2016-05-20 07:58:02 +00:00
sloppy-implicit-block-function.js Restrict FunctionDeclarations in Statement position 2016-03-03 21:34:26 +00:00
sloppy-legacy-duplicate-generators.js Improve strictness of Annex B 3.3 for generators and async functions 2016-05-27 18:23:20 +00:00
sloppy-no-duplicate-async.js Improve strictness of Annex B 3.3 for generators and async functions 2016-05-27 18:23:20 +00:00
sloppy-no-duplicate-generators.js Improve strictness of Annex B 3.3 for generators and async functions 2016-05-27 18:23:20 +00:00
sloppy-restrictive-block-function.js Restrict FunctionDeclarations in Statement position 2016-03-03 21:34:26 +00:00
to-length.js [runtime] Implement %_ToLength via ToLengthStub. 2015-10-19 08:35:18 +00:00
to-name.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
to-number.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-primitive.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
to-string.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
trailing-commas-length.js Allow trailing commas in function parameter lists 2016-06-29 01:39:10 +00:00