v8/test/mjsunit/harmony
littledan 7826bfa789 [promise] Async/await edge case spec compliance fix
- Don't read .constructor when returning a Promise from an async function.
  Instead, call out to the internals of Promise.resolve directly.
  This is done by adding back in an "optimization" from an earlier form of
  the async/await code written by Caitlin Potter.
- Async functions always return a new Promise with a distinct identity,
  even if they simply return another Promise.

R=caitp@igalia.com
BUG=v8:4483

Review-Url: https://codereview.chromium.org/2219623002
Cr-Commit-Position: refs/heads/master@{#38404}
2016-08-06 01:00:47 +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 Adjust whitespace to make tests oblivious to --harmony-function-tostring 2016-07-22 00:18:41 +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 [debugger] omit exception events for rethrown exceptions in async. 2016-07-11 05:50:03 +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-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 Slight cleanup of TryCatch parsing/variable declaration 2016-07-14 17:55:45 +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 Revert of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. (patchset #8 id:140001 of https://codereview.chromium.org/2090353003/ ) 2016-06-30 07:39:09 +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
modules.js Enable compiling mjsunit tests as ES6 modules 2015-02-10 19:11:55 +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