v8/test/mjsunit/harmony
littledan cd049c2c76 Fix crash from turning on DevTools in the middle of catch prediction
If DevTools is turned on in the middle of doing some things with async
functions, then more items may be popped from the Promise stack than were
pushed to it. In this sort of case, it's OK to have a catch misprediction,
but a crash is unacceptable. This patch defensively handles this edge
case where the Promise stack is unexpectedly empty for that reason.

BUG=v8:5167

Review-Url: https://codereview.chromium.org/2361333003
Cr-Commit-Position: refs/heads/master@{#39705}
2016-09-24 03:31:13 +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-cases0.js Reland Async/await Promise dependency graph 2016-09-20 19:04:26 +00:00
async-debug-caught-exception-cases1.js Reland Async/await Promise dependency graph 2016-09-20 19:04:26 +00:00
async-debug-caught-exception-cases2.js Reland Async/await Promise dependency graph 2016-09-20 19:04:26 +00:00
async-debug-caught-exception-cases3.js Reland Async/await Promise dependency graph 2016-09-20 19:04:26 +00:00
async-debug-caught-exception-cases.js Reland Async/await Promise dependency graph 2016-09-20 19:04:26 +00:00
async-debug-caught-exception.js Fix crash from turning on DevTools in the middle of catch prediction 2016-09-24 03:31:13 +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 Improve stack traces for async functions 2016-09-23 22:24:03 +00:00
debug-async-liveedit.js Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
default-parameter-do-expression.js Merge DeclarationScope::temps_ and Scope::ordered_variables_ into Scope::locals_ 2016-08-25 19:12:00 +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