node/test/message
Anatoli Papirovski b4c933dd44
promises: refactor rejection handling
Remove the unnecessary microTasksTickObject for scheduling microtasks
and instead use TickInfo to keep track of whether promise rejections
exist that need to be emitted. Consequently allow the microtasks to
execute on average fewer times, in more predictable manner than
previously.

Simplify unhandled & handled rejection tracking to do more in C++ to
avoid needing to expose additional info in JS.

When new unhandledRejections are emitted within an unhandledRejection
handler, allow the event loop to proceed first instead. This means
that if the end-user code handles all promise rejections on nextTick,
rejections within unhandledRejection now won't spiral into an infinite
loop.

PR-URL: https://github.com/nodejs/node/pull/18207
Fixes: https://github.com/nodejs/node/issues/17913
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2018-02-27 17:40:39 +01:00
..
2100bytes.js
2100bytes.out
console_low_stack_space.js
console_low_stack_space.out
core_line_numbers.js
core_line_numbers.out
error_exit.js test: improve to use template string 2018-01-30 10:24:05 -06:00
error_exit.out
esm_display_syntax_error.mjs module: print better message on esm syntax error 2017-12-12 03:27:53 -05:00
esm_display_syntax_error.out module: refactor loader 2018-02-20 17:02:45 -05:00
esm_display_syntax_error_import.mjs module: print better message on esm import error 2018-01-09 04:32:35 -05:00
esm_display_syntax_error_import.out module: print better message on esm import error 2018-01-09 04:32:35 -05:00
esm_display_syntax_error_import_module.mjs module: print better message on esm import error 2018-01-09 04:32:35 -05:00
esm_display_syntax_error_import_module.out module: print better message on esm import error 2018-01-09 04:32:35 -05:00
esm_display_syntax_error_module.mjs module: print better message on esm syntax error 2017-12-12 03:27:53 -05:00
esm_display_syntax_error_module.out module: refactor loader 2018-02-20 17:02:45 -05:00
eval_messages.js
eval_messages.out vm: never abort on caught syntax error 2017-12-21 14:44:39 -05:00
hello_world.js
hello_world.out
max_tick_depth.js test: improve to use template string 2018-01-30 10:24:05 -06:00
max_tick_depth.out
message.status
nexttick_throw.js
nexttick_throw.out process: slightly simplify next tick execution 2017-12-12 03:27:46 -05:00
stack_overflow.js
stack_overflow.out
stdin_messages.js
stdin_messages.out vm: never abort on caught syntax error 2017-12-21 14:44:39 -05:00
testcfg.py module: print better message on esm syntax error 2017-12-12 03:27:53 -05:00
throw_custom_error.js
throw_custom_error.out
throw_in_line_with_tabs.js
throw_in_line_with_tabs.out
throw_non_error.js
throw_non_error.out
throw_null.js
throw_null.out
throw_undefined.js
throw_undefined.out
timeout_throw.js
timeout_throw.out
undefined_reference_in_new_context.js
undefined_reference_in_new_context.out vm: never abort on caught syntax error 2017-12-21 14:44:39 -05:00
unhandled_promise_trace_warnings.js
unhandled_promise_trace_warnings.out promises: refactor rejection handling 2018-02-27 17:40:39 +01:00
vm_caught_custom_runtime_error.js
vm_caught_custom_runtime_error.out
vm_display_runtime_error.js
vm_display_runtime_error.out vm: never abort on caught syntax error 2017-12-21 14:44:39 -05:00
vm_display_syntax_error.js
vm_display_syntax_error.out vm: never abort on caught syntax error 2017-12-21 14:44:39 -05:00
vm_dont_display_runtime_error.js
vm_dont_display_runtime_error.out vm: never abort on caught syntax error 2017-12-21 14:44:39 -05:00
vm_dont_display_syntax_error.js
vm_dont_display_syntax_error.out vm: never abort on caught syntax error 2017-12-21 14:44:39 -05:00