Split main promise event filter into multiple filters (#4792)

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2021-10-11 12:48:50 +02:00
committed by GitHub
parent f6eac3afdc
commit d4231e7251
4 changed files with 20 additions and 14 deletions
@@ -195,7 +195,7 @@ ecma_reject_promise (ecma_value_t promise, /**< promise */
JERRY_ASSERT (ecma_promise_get_flags (obj_p) & ECMA_PROMISE_IS_PENDING);
#if JERRY_PROMISE_CALLBACK
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_MAIN))
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_REJECT))
{
JERRY_ASSERT (JERRY_CONTEXT (promise_callback) != NULL);
JERRY_CONTEXT (promise_callback) (JERRY_PROMISE_EVENT_REJECT,
@@ -282,7 +282,7 @@ ecma_fulfill_promise (ecma_value_t promise, /**< promise */
}
#if JERRY_PROMISE_CALLBACK
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_MAIN))
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_RESOLVE))
{
JERRY_ASSERT (JERRY_CONTEXT (promise_callback) != NULL);
JERRY_CONTEXT (promise_callback) (JERRY_PROMISE_EVENT_RESOLVE,
@@ -514,7 +514,7 @@ ecma_op_create_promise_object (ecma_value_t executor, /**< the executor function
promise_object_p->reactions = reactions;
#if JERRY_PROMISE_CALLBACK
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_MAIN))
if (JERRY_UNLIKELY (JERRY_CONTEXT (promise_callback_filters) & JERRY_PROMISE_EVENT_FILTER_CREATE))
{
JERRY_ASSERT (JERRY_CONTEXT (promise_callback) != NULL);
JERRY_CONTEXT (promise_callback) (JERRY_PROMISE_EVENT_CREATE,
+10 -8
View File
@@ -688,21 +688,23 @@ typedef enum
typedef enum
{
JERRY_PROMISE_EVENT_FILTER_DISABLE = 0, /**< disable reporting of all events */
JERRY_PROMISE_EVENT_FILTER_MAIN = (1 << 0), /**< enables the following events:
* JERRY_PROMISE_EVENT_CREATE
* JERRY_PROMISE_EVENT_RESOLVE
* JERRY_PROMISE_EVENT_REJECT */
JERRY_PROMISE_EVENT_FILTER_ERROR = (1 << 1), /**< enables the following events:
JERRY_PROMISE_EVENT_FILTER_CREATE = (1 << 0), /**< enables the following event:
* JERRY_PROMISE_EVENT_CREATE */
JERRY_PROMISE_EVENT_FILTER_RESOLVE = (1 << 1), /**< enables the following event:
* JERRY_PROMISE_EVENT_RESOLVE */
JERRY_PROMISE_EVENT_FILTER_REJECT = (1 << 2), /**< enables the following event:
* JERRY_PROMISE_EVENT_REJECT */
JERRY_PROMISE_EVENT_FILTER_ERROR = (1 << 3), /**< enables the following events:
* JERRY_PROMISE_EVENT_RESOLVE_FULFILLED
* JERRY_PROMISE_EVENT_REJECT_FULFILLED
* JERRY_PROMISE_EVENT_REJECT_WITHOUT_HANDLER
* JERRY_PROMISE_EVENT_CATCH_HANDLER_ADDED */
JERRY_PROMISE_EVENT_FILTER_REACTION_JOB = (1 << 2), /**< enables the following events:
JERRY_PROMISE_EVENT_FILTER_REACTION_JOB = (1 << 4), /**< enables the following events:
* JERRY_PROMISE_EVENT_BEFORE_REACTION_JOB
* JERRY_PROMISE_EVENT_AFTER_REACTION_JOB */
JERRY_PROMISE_EVENT_FILTER_ASYNC_MAIN = (1 << 3), /**< enables the following events:
JERRY_PROMISE_EVENT_FILTER_ASYNC_MAIN = (1 << 5), /**< enables the following event:
* JERRY_PROMISE_EVENT_ASYNC_AWAIT */
JERRY_PROMISE_EVENT_FILTER_ASYNC_REACTION_JOB = (1 << 4), /**< enables the following events:
JERRY_PROMISE_EVENT_FILTER_ASYNC_REACTION_JOB = (1 << 6), /**< enables the following events:
* JERRY_PROMISE_EVENT_ASYNC_BEFORE_RESOLVE
* JERRY_PROMISE_EVENT_ASYNC_BEFORE_REJECT
* JERRY_PROMISE_EVENT_ASYNC_AFTER_RESOLVE