mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Merge Promise Guard with ESNEXT (#4725)
JerryScript-DCO-1.0-Signed-off-by: Bela Toth tbela@inf.u-szeged.hu
This commit is contained in:
parent
951044c036
commit
f71a4a6975
@ -2690,7 +2690,7 @@ jerry_value_is_object (const jerry_value_t value)
|
||||
Returns whether the given `jerry_value_t` is a promise value.
|
||||
|
||||
*Notes*:
|
||||
- This API depends on a build option (`JERRY_BUILTIN_PROMISE`) and can be checked
|
||||
- This API depends on a build option (`JERRY_ESNEXT`) and can be checked
|
||||
in runtime with the `JERRY_FEATURE_PROMISE` feature enum value,
|
||||
see: [jerry_is_feature_enabled](#jerry_is_feature_enabled).
|
||||
- The es.next profile enables this by default.
|
||||
@ -2710,6 +2710,8 @@ jerry_value_is_promise (const jerry_value_t value)
|
||||
|
||||
*New in version 2.0*.
|
||||
|
||||
*Changed in version [[NEXT_RELEASE]]*: Build option dependency changed from `JERRY_BUILTIN_PROMISE` to `JERRY_ESNEXT`.
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
@ -5392,7 +5394,7 @@ The function returns the result of a Promise object.
|
||||
*Notes*:
|
||||
- Returned value must be freed with [jerry_release_value](#jerry_release_value) when it
|
||||
is no longer needed.
|
||||
- This API depends on a build option (`JERRY_BUILTIN_PROMISE`) and can be checked
|
||||
- This API depends on a build option (`JERRY_ESNEXT`) and can be checked
|
||||
in runtime with the `JERRY_FEATURE_PROMISE` feature enum value,
|
||||
see: [jerry_is_feature_enabled](#jerry_is_feature_enabled).
|
||||
- The es.next profile enables this by default.
|
||||
@ -5414,6 +5416,8 @@ jerry_get_promise_result (const jerry_value_t promise);
|
||||
|
||||
*New in version 2.2*.
|
||||
|
||||
*Changed in version [[NEXT_RELEASE]]*: Build option dependency changed from `JERRY_BUILTIN_PROMISE` to `JERRY_ESNEXT`.
|
||||
|
||||
**Example**
|
||||
|
||||
[doctest]: # (test="compile")
|
||||
@ -5459,7 +5463,7 @@ example (void)
|
||||
*Notes*:
|
||||
- Returned value must be freed with [jerry_release_value](#jerry_release_value) when it
|
||||
is no longer needed.
|
||||
- This API depends on a build option (`JERRY_BUILTIN_PROMISE`) and can be checked
|
||||
- This API depends on a build option (`JERRY_ESNEXT`) and can be checked
|
||||
in runtime with the `JERRY_FEATURE_PROMISE` feature enum value,
|
||||
see: [jerry_is_feature_enabled](#jerry_is_feature_enabled).
|
||||
- The es.next profile enables this by default.
|
||||
@ -5480,6 +5484,8 @@ jerry_get_promise_state (const jerry_value_t promise);
|
||||
|
||||
*New in version 2.2*.
|
||||
|
||||
*Changed in version [[NEXT_RELEASE]]*: Build option dependency changed from `JERRY_BUILTIN_PROMISE` to `JERRY_ESNEXT`.
|
||||
|
||||
**Example**
|
||||
|
||||
[doctest]: # (test="compile")
|
||||
@ -5709,7 +5715,7 @@ Resolve or reject the promise with an argument.
|
||||
*Note*:
|
||||
- Returned value must be freed with [jerry_release_value](#jerry_release_value) when it
|
||||
is no longer needed.
|
||||
- This API depends on a build option (`JERRY_BUILTIN_PROMISE`) and can be checked
|
||||
- This API depends on a build option (`JERRY_ESNEXT`) and can be checked
|
||||
in runtime with the `JERRY_FEATURE_PROMISE` feature enum value,
|
||||
see: [jerry_is_feature_enabled](#jerry_is_feature_enabled).
|
||||
- The es.next profile enables this by default.
|
||||
@ -5733,6 +5739,8 @@ jerry_resolve_or_reject_promise (jerry_value_t promise,
|
||||
|
||||
*New in version 2.0*.
|
||||
|
||||
*Changed in version [[NEXT_RELEASE]]*: Build option dependency changed from `JERRY_BUILTIN_PROMISE` to `JERRY_ESNEXT`.
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
|
||||
@ -66,12 +66,12 @@ JERRY_STATIC_ASSERT ((int) RE_FLAG_GLOBAL == (int) JERRY_REGEXP_FLAG_GLOBAL
|
||||
re_flags_t_must_be_equal_to_jerry_regexp_flags_t);
|
||||
#endif /* JERRY_BUILTIN_REGEXP */
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
/* The internal ECMA_PROMISE_STATE_* values are "one byte away" from the API values */
|
||||
JERRY_STATIC_ASSERT ((int) ECMA_PROMISE_IS_PENDING == (int) JERRY_PROMISE_STATE_PENDING
|
||||
&& (int) ECMA_PROMISE_IS_FULFILLED == (int) JERRY_PROMISE_STATE_FULFILLED,
|
||||
promise_internal_state_matches_external);
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
/**
|
||||
* Offset between internal and external arithmetic operator types
|
||||
@ -210,9 +210,9 @@ jerry_cleanup (void)
|
||||
}
|
||||
}
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
ecma_free_all_enqueued_jobs ();
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
ecma_finalize ();
|
||||
jerry_make_api_unavailable ();
|
||||
|
||||
@ -1123,11 +1123,11 @@ jerry_run_all_enqueued_jobs (void)
|
||||
{
|
||||
jerry_assert_api_available ();
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
return ecma_process_all_enqueued_jobs ();
|
||||
#else /* !JERRY_BUILTIN_PROMISE */
|
||||
#else /* !JERRY_ESNEXT */
|
||||
return ECMA_VALUE_UNDEFINED;
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
} /* jerry_run_all_enqueued_jobs */
|
||||
|
||||
/**
|
||||
@ -1354,13 +1354,13 @@ bool
|
||||
jerry_value_is_promise (const jerry_value_t value) /**< api value */
|
||||
{
|
||||
jerry_assert_api_available ();
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
return (ecma_is_value_object (value)
|
||||
&& ecma_is_promise (ecma_get_object_from_value (value)));
|
||||
#else /* !JERRY_BUILTIN_PROMISE */
|
||||
#else /* !JERRY_ESNEXT */
|
||||
JERRY_UNUSED (value);
|
||||
return false;
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
} /* jerry_value_is_promise */
|
||||
|
||||
/**
|
||||
@ -1542,10 +1542,10 @@ static const uint8_t jerry_class_object_type[] =
|
||||
#if JERRY_MODULE_SYSTEM
|
||||
JERRY_OBJECT_TYPE_MODULE, /**< type of ECMA_OBJECT_CLASS_MODULE */
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
JERRY_OBJECT_TYPE_PROMISE, /**< type of ECMA_OBJECT_CLASS_PROMISE */
|
||||
JERRY_OBJECT_TYPE_GENERIC, /**< type of ECMA_OBJECT_CLASS_PROMISE_CAPABILITY */
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#if JERRY_BUILTIN_DATAVIEW
|
||||
JERRY_OBJECT_TYPE_DATAVIEW, /**< type of ECMA_OBJECT_CLASS_DATAVIEW */
|
||||
#endif /* JERRY_BUILTIN_DATAVIEW */
|
||||
@ -1803,10 +1803,8 @@ jerry_is_feature_enabled (const jerry_feature_t feature) /**< feature to check *
|
||||
#if JERRY_BUILTIN_JSON
|
||||
|| feature == JERRY_FEATURE_JSON
|
||||
#endif /* JERRY_BUILTIN_JSON */
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
|| feature == JERRY_FEATURE_PROMISE
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#if JERRY_ESNEXT
|
||||
|| feature == JERRY_FEATURE_PROMISE
|
||||
|| feature == JERRY_FEATURE_SYMBOL
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#if JERRY_BUILTIN_TYPEDARRAY
|
||||
@ -2560,13 +2558,13 @@ jerry_create_promise (void)
|
||||
{
|
||||
jerry_assert_api_available ();
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
ecma_value_t promise_value = ecma_op_create_promise_object (ECMA_VALUE_EMPTY, ECMA_VALUE_UNDEFINED, NULL);
|
||||
|
||||
return promise_value;
|
||||
#else /* !JERRY_BUILTIN_PROMISE */
|
||||
#else /* !JERRY_ESNEXT */
|
||||
return jerry_throw (ecma_raise_type_error (ECMA_ERR_MSG (ecma_error_promise_not_supported_p)));
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
} /* jerry_create_promise */
|
||||
|
||||
/**
|
||||
@ -4762,7 +4760,7 @@ jerry_resolve_or_reject_promise (jerry_value_t promise, /**< the promise value *
|
||||
{
|
||||
jerry_assert_api_available ();
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
if (!ecma_is_value_object (promise) || !ecma_is_promise (ecma_get_object_from_value (promise)))
|
||||
{
|
||||
return jerry_throw (ecma_raise_type_error (ECMA_ERR_MSG (ecma_error_wrong_args_msg_p)));
|
||||
@ -4779,13 +4777,13 @@ jerry_resolve_or_reject_promise (jerry_value_t promise, /**< the promise value *
|
||||
}
|
||||
|
||||
return ecma_reject_promise_with_checks (promise, argument);
|
||||
#else /* !JERRY_BUILTIN_PROMISE */
|
||||
#else /* !JERRY_ESNEXT */
|
||||
JERRY_UNUSED (promise);
|
||||
JERRY_UNUSED (argument);
|
||||
JERRY_UNUSED (is_resolve);
|
||||
|
||||
return jerry_throw (ecma_raise_type_error (ECMA_ERR_MSG (ecma_error_promise_not_supported_p)));
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
} /* jerry_resolve_or_reject_promise */
|
||||
|
||||
/**
|
||||
@ -4799,17 +4797,17 @@ jerry_get_promise_result (const jerry_value_t promise) /**< promise object to ge
|
||||
{
|
||||
jerry_assert_api_available ();
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
if (!jerry_value_is_promise (promise))
|
||||
{
|
||||
return jerry_throw (ecma_raise_type_error (ECMA_ERR_MSG (ecma_error_wrong_args_msg_p)));
|
||||
}
|
||||
|
||||
return ecma_promise_get_result (ecma_get_object_from_value (promise));
|
||||
#else /* !JERRY_BUILTIN_PROMISE */
|
||||
#else /* !JERRY_ESNEXT */
|
||||
JERRY_UNUSED (promise);
|
||||
return jerry_throw (ecma_raise_type_error (ECMA_ERR_MSG (ecma_error_promise_not_supported_p)));
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
} /* jerry_get_promise_result */
|
||||
|
||||
/**
|
||||
@ -4824,7 +4822,7 @@ jerry_get_promise_state (const jerry_value_t promise) /**< promise object to get
|
||||
{
|
||||
jerry_assert_api_available ();
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
if (!jerry_value_is_promise (promise))
|
||||
{
|
||||
return JERRY_PROMISE_STATE_NONE;
|
||||
@ -4834,10 +4832,10 @@ jerry_get_promise_state (const jerry_value_t promise) /**< promise object to get
|
||||
flags &= (ECMA_PROMISE_IS_PENDING | ECMA_PROMISE_IS_FULFILLED);
|
||||
|
||||
return (flags ? flags : JERRY_PROMISE_STATE_REJECTED);
|
||||
#else /* !JERRY_BUILTIN_PROMISE */
|
||||
#else /* !JERRY_ESNEXT */
|
||||
JERRY_UNUSED (promise);
|
||||
return JERRY_PROMISE_STATE_NONE;
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
} /* jerry_get_promise_state */
|
||||
|
||||
/**
|
||||
@ -4852,7 +4850,7 @@ void jerry_promise_set_callback (jerry_promise_event_filter_t filters, /**< comb
|
||||
{
|
||||
jerry_assert_api_available ();
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE && JERRY_PROMISE_CALLBACK
|
||||
#if JERRY_ESNEXT && JERRY_PROMISE_CALLBACK
|
||||
if (filters == JERRY_PROMISE_EVENT_FILTER_DISABLE || callback == NULL)
|
||||
{
|
||||
JERRY_CONTEXT (promise_callback_filters) = JERRY_PROMISE_EVENT_FILTER_DISABLE;
|
||||
@ -4862,11 +4860,11 @@ void jerry_promise_set_callback (jerry_promise_event_filter_t filters, /**< comb
|
||||
JERRY_CONTEXT (promise_callback_filters) = (uint32_t) filters;
|
||||
JERRY_CONTEXT (promise_callback) = callback;
|
||||
JERRY_CONTEXT (promise_callback_user_p) = user_p;
|
||||
#else /* !JERRY_BUILTIN_PROMISE && !JERRY_PROMISE_CALLBACK */
|
||||
#else /* !JERRY_ESNEXT && !JERRY_PROMISE_CALLBACK */
|
||||
JERRY_UNUSED (filters);
|
||||
JERRY_UNUSED (callback);
|
||||
JERRY_UNUSED (user_p);
|
||||
#endif /* JERRY_BUILTIN_PROMISE && JERRY_PROMISE_CALLBACK */
|
||||
#endif /* JERRY_ESNEXT && JERRY_PROMISE_CALLBACK */
|
||||
} /* jerry_promise_set_callback */
|
||||
|
||||
/**
|
||||
|
||||
@ -95,10 +95,6 @@
|
||||
# define JERRY_BUILTIN_GLOBAL_THIS JERRY_ESNEXT
|
||||
#endif /* !defined (JERRY_BUILTIN_GLOBAL_THIS) */
|
||||
|
||||
#ifndef JERRY_BUILTIN_PROMISE
|
||||
# define JERRY_BUILTIN_PROMISE JERRY_ESNEXT
|
||||
#endif /* !defined (JERRY_BUILTIN_PROMISE) */
|
||||
|
||||
#ifndef JERRY_BUILTIN_PROXY
|
||||
# define JERRY_BUILTIN_PROXY JERRY_ESNEXT
|
||||
#endif /* !defined (JERRY_BUILTIN_PROXY) */
|
||||
@ -552,10 +548,6 @@
|
||||
|| ((JERRY_BUILTIN_WEAKREF != 0) && (JERRY_BUILTIN_WEAKREF != 1))
|
||||
# error "Invalid value for JERRY_BUILTIN_WEAKREF macro."
|
||||
#endif
|
||||
#if !defined (JERRY_BUILTIN_PROMISE) \
|
||||
|| ((JERRY_BUILTIN_PROMISE != 0) && (JERRY_BUILTIN_PROMISE != 1))
|
||||
# error "Invalid value for JERRY_BUILTIN_PROMISE macro."
|
||||
#endif
|
||||
#if !defined (JERRY_BUILTIN_PROXY) \
|
||||
|| ((JERRY_BUILTIN_PROXY != 0) && (JERRY_BUILTIN_PROXY != 1))
|
||||
# error "Invalid value for JERRY_BUILTIN_PROXY macro."
|
||||
@ -575,10 +567,8 @@
|
||||
#if (JERRY_ESNEXT == 0) \
|
||||
&& ((JERRY_BUILTIN_DATAVIEW == 1) \
|
||||
|| (JERRY_BUILTIN_CONTAINER == 1) \
|
||||
|| (JERRY_BUILTIN_PROMISE == 1) \
|
||||
|| (JERRY_BUILTIN_PROXY == 1) \
|
||||
|| (JERRY_BUILTIN_REFLECT == 1) \
|
||||
|| (JERRY_BUILTIN_PROMISE == 1) \
|
||||
|| (JERRY_BUILTIN_TYPEDARRAY == 1) \
|
||||
|| (JERRY_BUILTIN_WEAKREF == 1))
|
||||
# error "JERRY_ESNEXT should be enabled too to enable JERRY_BUILTIN_xxxxx macro."
|
||||
@ -705,9 +695,9 @@
|
||||
/**
|
||||
* Promise support must be enabled if Promise callback support is enabled.
|
||||
*/
|
||||
#if JERRY_PROMISE_CALLBACK && !JERRY_BUILTIN_PROMISE
|
||||
# error "Promise callback support depends on Promise support"
|
||||
#endif /* JERRY_PROMISE_CALLBACK && !JERRY_BUILTIN_PROMISE */
|
||||
#if JERRY_PROMISE_CALLBACK && !JERRY_ESNEXT
|
||||
# error "Promise callback support depends on ESNext support"
|
||||
#endif /* JERRY_PROMISE_CALLBACK && !JERRY_ESNEXT */
|
||||
|
||||
/**
|
||||
* Resource name related types into a single guard
|
||||
|
||||
@ -1457,13 +1457,13 @@ jerry_debugger_exception_object_to_string (ecma_value_t exception_obj_value) /**
|
||||
string_id = LIT_MAGIC_STRING_TYPE_ERROR_UL;
|
||||
break;
|
||||
}
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
case ECMA_BUILTIN_ID_AGGREGATE_ERROR_PROTOTYPE:
|
||||
{
|
||||
string_id = LIT_MAGIC_STRING_AGGREGATE_ERROR_UL;
|
||||
break;
|
||||
}
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
case ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE:
|
||||
{
|
||||
string_id = LIT_MAGIC_STRING_URI_ERROR_UL;
|
||||
|
||||
@ -46,14 +46,11 @@ const char * const ecma_error_json_not_supported_p = "JSON support is disabled";
|
||||
* Error message, if Symbol support is disabled
|
||||
*/
|
||||
const char * const ecma_error_symbol_not_supported_p = "Symbol support is disabled";
|
||||
#endif /* !JERRY_ESNEXT */
|
||||
|
||||
#if !JERRY_BUILTIN_PROMISE
|
||||
/**
|
||||
* Error message, if Promise support is disabled
|
||||
*/
|
||||
const char * const ecma_error_promise_not_supported_p = "Promise support is disabled";
|
||||
#endif /* !JERRY_BUILTIN_PROMISE */
|
||||
#endif /* !JERRY_ESNEXT */
|
||||
|
||||
#if !JERRY_BUILTIN_TYPEDARRAY
|
||||
/**
|
||||
|
||||
@ -33,11 +33,9 @@ extern const char * const ecma_error_json_not_supported_p;
|
||||
|
||||
#if !JERRY_ESNEXT
|
||||
extern const char * const ecma_error_symbol_not_supported_p;
|
||||
#endif /* !JERRY_ESNEXT */
|
||||
|
||||
#if !JERRY_BUILTIN_PROMISE
|
||||
extern const char * const ecma_error_promise_not_supported_p;
|
||||
#endif /* !JERRY_BUILTIN_PROMISE */
|
||||
#endif /* !JERRY_ESNEXT */
|
||||
|
||||
#if !JERRY_BUILTIN_TYPEDARRAY
|
||||
extern const char * const ecma_error_typed_array_not_supported_p;
|
||||
|
||||
@ -40,9 +40,9 @@
|
||||
#if JERRY_BUILTIN_TYPEDARRAY
|
||||
#include "ecma-typedarray-object.h"
|
||||
#endif /* JERRY_BUILTIN_TYPEDARRAY */
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
#include "ecma-promise-object.h"
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
/* TODO: Extract GC to a separate component */
|
||||
|
||||
@ -483,7 +483,7 @@ ecma_gc_mark_bound_function_object (ecma_object_t *object_p) /**< bound function
|
||||
}
|
||||
} /* ecma_gc_mark_bound_function_object */
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
/**
|
||||
* Mark objects referenced by Promise built-in.
|
||||
*/
|
||||
@ -527,7 +527,7 @@ ecma_gc_mark_promise_object (ecma_extended_object_t *ext_object_p) /**< extended
|
||||
}
|
||||
} /* ecma_gc_mark_promise_object */
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
#if JERRY_BUILTIN_CONTAINER
|
||||
/**
|
||||
@ -957,13 +957,6 @@ ecma_gc_mark (ecma_object_t *object_p) /**< object to mark from */
|
||||
break;
|
||||
}
|
||||
#endif /* JERRY_MODULE_SYSTEM */
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
case ECMA_OBJECT_CLASS_PROMISE:
|
||||
{
|
||||
ecma_gc_mark_promise_object (ext_object_p);
|
||||
break;
|
||||
}
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#if JERRY_BUILTIN_DATAVIEW
|
||||
case ECMA_OBJECT_CLASS_DATAVIEW:
|
||||
{
|
||||
@ -1001,6 +994,11 @@ ecma_gc_mark (ecma_object_t *object_p) /**< object to mark from */
|
||||
ecma_gc_mark_executable_object (object_p);
|
||||
break;
|
||||
}
|
||||
case ECMA_OBJECT_CLASS_PROMISE:
|
||||
{
|
||||
ecma_gc_mark_promise_object (ext_object_p);
|
||||
break;
|
||||
}
|
||||
case ECMA_OBJECT_CLASS_PROMISE_CAPABILITY:
|
||||
{
|
||||
ecma_promise_capabality_t *capability_p = (ecma_promise_capabality_t *) object_p;
|
||||
@ -1923,18 +1921,6 @@ ecma_gc_free_object (ecma_object_t *object_p) /**< object to free */
|
||||
break;
|
||||
}
|
||||
#endif /* JERRY_BUILTIN_TYPEDARRAY */
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
case ECMA_OBJECT_CLASS_PROMISE:
|
||||
{
|
||||
ecma_free_value_if_not_object (ext_object_p->u.cls.u3.value);
|
||||
|
||||
/* Reactions only contains objects. */
|
||||
ecma_collection_destroy (((ecma_promise_object_t *) object_p)->reactions);
|
||||
|
||||
ext_object_size = sizeof (ecma_promise_object_t);
|
||||
break;
|
||||
}
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#if JERRY_BUILTIN_WEAKREF
|
||||
case ECMA_OBJECT_CLASS_WEAKREF:
|
||||
{
|
||||
@ -1972,6 +1958,16 @@ ecma_gc_free_object (ecma_object_t *object_p) /**< object to free */
|
||||
ext_object_size = ecma_gc_free_executable_object (object_p);
|
||||
break;
|
||||
}
|
||||
case ECMA_OBJECT_CLASS_PROMISE:
|
||||
{
|
||||
ecma_free_value_if_not_object (ext_object_p->u.cls.u3.value);
|
||||
|
||||
/* Reactions only contains objects. */
|
||||
ecma_collection_destroy (((ecma_promise_object_t *) object_p)->reactions);
|
||||
|
||||
ext_object_size = sizeof (ecma_promise_object_t);
|
||||
break;
|
||||
}
|
||||
case ECMA_OBJECT_CLASS_PROMISE_CAPABILITY:
|
||||
{
|
||||
ext_object_size = sizeof (ecma_promise_capabality_t);
|
||||
|
||||
@ -698,10 +698,10 @@ typedef enum
|
||||
#if JERRY_MODULE_SYSTEM
|
||||
ECMA_OBJECT_CLASS_MODULE, /**< Module (ECMAScript v6, 15.2) */
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
ECMA_OBJECT_CLASS_PROMISE, /**< Promise (ECMAScript v6, 25.4) */
|
||||
ECMA_OBJECT_CLASS_PROMISE_CAPABILITY, /**< Promise capability (ECMAScript v6, 25.4.1.1) */
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#if JERRY_BUILTIN_DATAVIEW
|
||||
ECMA_OBJECT_CLASS_DATAVIEW, /**< DataView (ECMAScript v6, 24.2) */
|
||||
#endif /* JERRY_BUILTIN_DATAVIEW */
|
||||
@ -1017,10 +1017,8 @@ typedef struct
|
||||
#if JERRY_ESNEXT
|
||||
uint8_t iterator_kind; /**< type of iterator */
|
||||
uint8_t regexp_string_iterator_flags; /**< flags for RegExp string iterator */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
uint8_t promise_flags; /**< Promise object flags */
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#if JERRY_BUILTIN_CONTAINER
|
||||
uint8_t container_flags; /**< container object flags */
|
||||
#endif /* JERRY_BUILTIN_CONTAINER */
|
||||
@ -1059,15 +1057,13 @@ typedef struct
|
||||
ecma_value_t date; /**< Date object [[DateValue]] internal property */
|
||||
#endif /* !JERRY_ESNEXT */
|
||||
ecma_value_t target; /**< [[ProxyTarget]] or [[WeakRefTarget]] internal property */
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
ecma_value_t promise; /**< PromiseCapability[[Promise]] internal slot */
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#if JERRY_BUILTIN_TYPEDARRAY
|
||||
ecma_value_t arraybuffer; /**< for typedarray: ArrayBuffer reference */
|
||||
#endif /* JERRY_BUILTIN_TYPEDARRAY */
|
||||
#if JERRY_ESNEXT
|
||||
ecma_value_t head; /**< points to the async generator task queue head item */
|
||||
ecma_value_t iterated_value; /**< for %Iterator%: [[IteratedObject]] property */
|
||||
ecma_value_t promise; /**< PromiseCapability[[Promise]] internal slot */
|
||||
ecma_value_t spread_value; /**< for spread object: spreaded element */
|
||||
int32_t tza; /**< TimeZone adjustment for date objects */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
@ -56,9 +56,9 @@ ecma_init (void)
|
||||
JERRY_CONTEXT (stack_base) = (uintptr_t) &sp;
|
||||
#endif /* (JERRY_STACK_LIMIT != 0) */
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
ecma_job_queue_init ();
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
#if JERRY_ESNEXT
|
||||
JERRY_CONTEXT (current_new_target_p) = NULL;
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
#include "ecma-string-object.h"
|
||||
#include "jrt.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
#define ECMA_BUILTINS_INTERNAL
|
||||
#include "ecma-builtins-internal.h"
|
||||
@ -33,4 +33,4 @@
|
||||
#define BUILTIN_UNDERSCORED_ID aggregate_error_prototype
|
||||
#include "ecma-builtin-internal-routines-template.inc.h"
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
|
||||
#include "ecma-builtin-helpers-macro-defines.inc.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
/* Object properties:
|
||||
* (property name, object pointer getter) */
|
||||
@ -39,6 +39,6 @@ STRING_VALUE (LIT_MAGIC_STRING_MESSAGE,
|
||||
LIT_MAGIC_STRING__EMPTY,
|
||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
#include "ecma-builtin-helpers-macro-undefs.inc.h"
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
#include "jrt.h"
|
||||
#include "jcontext.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
#define ECMA_BUILTINS_INTERNAL
|
||||
#include "ecma-builtins-internal.h"
|
||||
@ -109,4 +109,4 @@ ecma_builtin_aggregate_error_dispatch_construct (const ecma_value_t *arguments_l
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
|
||||
#include "ecma-builtin-helpers-macro-defines.inc.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
/* Number properties:
|
||||
* (property name, number value, writable, enumerable, configurable) */
|
||||
@ -40,6 +40,6 @@ STRING_VALUE (LIT_MAGIC_STRING_NAME,
|
||||
LIT_MAGIC_STRING_AGGREGATE_ERROR_UL,
|
||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
#include "ecma-builtin-helpers-macro-undefs.inc.h"
|
||||
|
||||
@ -127,12 +127,6 @@ OBJECT_VALUE (LIT_MAGIC_STRING_TYPE_ERROR_UL,
|
||||
ECMA_BUILTIN_ID_TYPE_ERROR,
|
||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
OBJECT_VALUE (LIT_MAGIC_STRING_AGGREGATE_ERROR_UL,
|
||||
ECMA_BUILTIN_ID_AGGREGATE_ERROR,
|
||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
|
||||
/* ECMA-262 v5, 15.1.4.15 */
|
||||
OBJECT_VALUE (LIT_MAGIC_STRING_URI_ERROR_UL,
|
||||
ECMA_BUILTIN_ID_URI_ERROR,
|
||||
@ -218,12 +212,6 @@ OBJECT_VALUE (LIT_MAGIC_STRING_UINT8_CLAMPED_ARRAY_UL,
|
||||
|
||||
#endif /* JERRY_BUILTIN_TYPEDARRAY */
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
OBJECT_VALUE (LIT_MAGIC_STRING_PROMISE_UL,
|
||||
ECMA_BUILTIN_ID_PROMISE,
|
||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
|
||||
#if JERRY_BUILTIN_CONTAINER
|
||||
/* ECMA-262 v6, 23.1.1.1 */
|
||||
OBJECT_VALUE (LIT_MAGIC_STRING_WEAKSET_UL,
|
||||
@ -253,6 +241,14 @@ OBJECT_VALUE (LIT_MAGIC_STRING_WEAKREF_UL,
|
||||
#endif /* JERRY_BUILTIN_WEAKREF */
|
||||
|
||||
#if JERRY_ESNEXT
|
||||
OBJECT_VALUE (LIT_MAGIC_STRING_AGGREGATE_ERROR_UL,
|
||||
ECMA_BUILTIN_ID_AGGREGATE_ERROR,
|
||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||
|
||||
OBJECT_VALUE (LIT_MAGIC_STRING_PROMISE_UL,
|
||||
ECMA_BUILTIN_ID_PROMISE,
|
||||
ECMA_PROPERTY_CONFIGURABLE_WRITABLE)
|
||||
|
||||
/* ECMA-262 v6, 19.4.1.1 */
|
||||
OBJECT_VALUE (LIT_MAGIC_STRING_SYMBOL_UL,
|
||||
ECMA_BUILTIN_ID_SYMBOL,
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
#include "ecma-globals.h"
|
||||
#include "ecma-promise-object.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
#define ECMA_BUILTINS_INTERNAL
|
||||
#include "ecma-builtins-internal.h"
|
||||
@ -95,4 +95,4 @@ ecma_builtin_promise_prototype_dispatch_routine (uint8_t builtin_routine_id, /**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
#include "ecma-builtin-helpers-macro-defines.inc.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
/* Object properties:
|
||||
* (property name, object pointer getter) */
|
||||
@ -33,6 +33,6 @@ ROUTINE (LIT_MAGIC_STRING_THEN, ECMA_PROMISE_PROTOTYPE_ROUTINE_THEN, 2, 2)
|
||||
ROUTINE (LIT_MAGIC_STRING_CATCH, ECMA_PROMISE_PROTOTYPE_ROUTINE_CATCH, 1, 1)
|
||||
ROUTINE (LIT_MAGIC_STRING_FINALLY, ECMA_PROMISE_PROTOTYPE_ROUTINE_FINALLY, 1, 1)
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
#include "ecma-builtin-helpers-macro-undefs.inc.h"
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
#include "ecma-promise-object.h"
|
||||
#include "jcontext.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
#define ECMA_BUILTINS_INTERNAL
|
||||
#include "ecma-builtins-internal.h"
|
||||
@ -563,4 +563,4 @@ ecma_builtin_promise_dispatch_routine (uint8_t builtin_routine_id, /**< built-in
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
|
||||
#include "ecma-builtin-helpers-macro-defines.inc.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
/* Number properties:
|
||||
* (property name, number value, writable, enumerable, configurable) */
|
||||
@ -53,6 +53,6 @@ ACCESSOR_READ_ONLY (LIT_GLOBAL_SYMBOL_SPECIES,
|
||||
ECMA_PROMISE_ROUTINE_SPECIES_GET,
|
||||
ECMA_PROPERTY_FLAG_CONFIGURABLE)
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
#include "ecma-builtin-helpers-macro-undefs.inc.h"
|
||||
|
||||
@ -283,7 +283,7 @@ BUILTIN_ROUTINE (ECMA_BUILTIN_ID_TYPE_ERROR,
|
||||
true,
|
||||
type_error)
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
/* The AggregateError.prototype object (15.11.6.5) */
|
||||
BUILTIN (ECMA_BUILTIN_ID_AGGREGATE_ERROR_PROTOTYPE,
|
||||
ECMA_OBJECT_TYPE_GENERAL,
|
||||
@ -297,7 +297,7 @@ BUILTIN_ROUTINE (ECMA_BUILTIN_ID_AGGREGATE_ERROR,
|
||||
ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID,
|
||||
true,
|
||||
aggregate_error)
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
/* The URIError.prototype object (15.11.6.6) */
|
||||
BUILTIN (ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE,
|
||||
@ -507,7 +507,7 @@ BUILTIN (ECMA_BUILTIN_ID_BIGUINT64ARRAY_PROTOTYPE,
|
||||
#endif /* JERRY_BUILTIN_BIGINT */
|
||||
#endif /* JERRY_BUILTIN_TYPEDARRAY */
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
BUILTIN (ECMA_BUILTIN_ID_PROMISE_PROTOTYPE,
|
||||
ECMA_OBJECT_TYPE_GENERAL,
|
||||
@ -521,7 +521,7 @@ BUILTIN_ROUTINE (ECMA_BUILTIN_ID_PROMISE,
|
||||
true,
|
||||
promise)
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
#if JERRY_BUILTIN_CONTAINER
|
||||
|
||||
|
||||
@ -84,13 +84,13 @@ ecma_new_standard_error (jerry_error_t error_type, /**< native error type */
|
||||
break;
|
||||
}
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
case JERRY_ERROR_AGGREGATE:
|
||||
{
|
||||
prototype_id = ECMA_BUILTIN_ID_AGGREGATE_ERROR_PROTOTYPE;
|
||||
break;
|
||||
}
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
case JERRY_ERROR_URI:
|
||||
{
|
||||
prototype_id = ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE;
|
||||
@ -169,7 +169,7 @@ ecma_new_standard_error (jerry_error_t error_type, /**< native error type */
|
||||
return error_object_p;
|
||||
} /* ecma_new_standard_error */
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
/**
|
||||
* aggregate-error object constructor.
|
||||
*
|
||||
@ -273,7 +273,7 @@ ecma_new_aggregate_error (ecma_value_t error_list_val, /**< errors list */
|
||||
return ecma_make_object_value (new_error_object_p);
|
||||
} /* ecma_new_aggregate_error */
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
/**
|
||||
* Return the error type for an Error object.
|
||||
@ -490,7 +490,7 @@ ecma_raise_uri_error (const char *msg_p) /**< error message */
|
||||
return ecma_raise_standard_error (JERRY_ERROR_URI, (const lit_utf8_byte_t *) msg_p);
|
||||
} /* ecma_raise_uri_error */
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
/**
|
||||
* Raise a AggregateError with the given errors and message.
|
||||
@ -508,7 +508,7 @@ ecma_raise_aggregate_error (ecma_value_t error_list_val, /**< errors list */
|
||||
return ECMA_VALUE_ERROR;
|
||||
} /* ecma_raise_aggregate_error */
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
||||
@ -43,10 +43,10 @@ ecma_value_t ecma_raise_reference_error (const char *msg_p);
|
||||
ecma_value_t ecma_raise_syntax_error (const char *msg_p);
|
||||
ecma_value_t ecma_raise_type_error (const char *msg_p);
|
||||
ecma_value_t ecma_raise_uri_error (const char *msg_p);
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
ecma_value_t ecma_new_aggregate_error (ecma_value_t error_list_val, ecma_value_t message_val);
|
||||
ecma_value_t ecma_raise_aggregate_error (ecma_value_t error_list_val, ecma_value_t message_val);
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
#include "opcodes.h"
|
||||
#include "vm-stack.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
/**
|
||||
* Mask for job queue type.
|
||||
@ -638,4 +638,4 @@ ecma_free_all_enqueued_jobs (void)
|
||||
* @}
|
||||
* @}
|
||||
*/
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
#ifndef ECMA_JOB_QUEUE_H
|
||||
#define ECMA_JOB_QUEUE_H
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
/** \addtogroup ecma ECMA
|
||||
* @{
|
||||
@ -60,5 +60,5 @@ ecma_value_t ecma_process_all_enqueued_jobs (void);
|
||||
* @}
|
||||
* @}
|
||||
*/
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#endif /* !ECMA_JOB_QUEUE_H */
|
||||
|
||||
@ -2754,9 +2754,6 @@ ecma_object_check_class_name_is_object (ecma_object_t *obj_p) /**< object */
|
||||
{
|
||||
#ifndef JERRY_NDEBUG
|
||||
return (ecma_builtin_is_global (obj_p)
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
|| ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_PROMISE_PROTOTYPE)
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#if JERRY_BUILTIN_TYPEDARRAY
|
||||
|| ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_ARRAYBUFFER_PROTOTYPE)
|
||||
|| ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_SHARED_ARRAYBUFFER_PROTOTYPE)
|
||||
@ -2796,6 +2793,7 @@ ecma_object_check_class_name_is_object (ecma_object_t *obj_p) /**< object */
|
||||
|| ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_REGEXP_PROTOTYPE)
|
||||
|| ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_SYMBOL_PROTOTYPE)
|
||||
|| ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_ASYNC_FUNCTION_PROTOTYPE)
|
||||
|| ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_PROMISE_PROTOTYPE)
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#if JERRY_BUILTIN_CONTAINER
|
||||
|| ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_MAP_PROTOTYPE)
|
||||
@ -2849,10 +2847,10 @@ static const uint16_t ecma_class_object_magic_string_id[] =
|
||||
#if JERRY_MODULE_SYSTEM
|
||||
LIT_MAGIC_STRING_MODULE_UL, /**< magic string id of ECMA_OBJECT_CLASS_MODULE */
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_PROMISE_UL, /**< magic string id of ECMA_OBJECT_CLASS_PROMISE */
|
||||
LIT_MAGIC_STRING_OBJECT_UL, /**< magic string id of ECMA_OBJECT_CLASS_PROMISE_CAPABILITY */
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#if JERRY_BUILTIN_DATAVIEW
|
||||
LIT_MAGIC_STRING_DATAVIEW_UL, /**< magic string id of ECMA_OBJECT_CLASS_DATAVIEW */
|
||||
#endif /* JERRY_BUILTIN_DATAVIEW */
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
#include "ecma-promise-object.h"
|
||||
#include "jcontext.h"
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
|
||||
/** \addtogroup ecma ECMA
|
||||
* @{
|
||||
@ -1328,4 +1328,4 @@ ecma_promise_async_await (ecma_extended_object_t *async_generator_object_p, /**<
|
||||
* @}
|
||||
* @}
|
||||
*/
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
#ifndef ECMA_PROMISE_OBJECT_H
|
||||
#define ECMA_PROMISE_OBJECT_H
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
#include "ecma-globals.h"
|
||||
|
||||
/** \addtogroup ecma ECMA
|
||||
@ -137,5 +137,5 @@ uint32_t ecma_promise_remaining_inc_or_dec (ecma_value_t remaining, bool is_inc)
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
#endif /* !ECMA_PROMISE_OBJECT_H */
|
||||
|
||||
@ -182,7 +182,7 @@ struct jerry_context_t
|
||||
uint8_t re_cache_idx; /**< evicted item index when regex cache is full (round-robin) */
|
||||
#endif /* JERRY_BUILTIN_REGEXP */
|
||||
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
ecma_job_queue_item_t *job_queue_head_p; /**< points to the head item of the job queue */
|
||||
ecma_job_queue_item_t *job_queue_tail_p; /**< points to the tail item of the job queue */
|
||||
#if JERRY_PROMISE_CALLBACK
|
||||
@ -190,7 +190,7 @@ struct jerry_context_t
|
||||
void *promise_callback_user_p; /**< user pointer for promise callback */
|
||||
jerry_promise_callback_t promise_callback; /**< user function for tracking Promise object operations */
|
||||
#endif /* JERRY_PROMISE_CALLBACK */
|
||||
#endif /* JERRY_BUILTIN_PROMISE */
|
||||
#endif /* JERRY_ESNEXT */
|
||||
|
||||
#if JERRY_VM_EXEC_STOP
|
||||
uint32_t vm_exec_stop_frequency; /**< reset value for vm_exec_stop_counter */
|
||||
|
||||
@ -65,7 +65,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ABS, "abs")
|
||||
#if JERRY_BUILTIN_CONTAINER
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ADD, "add")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ALL, "all")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ANY, "any")
|
||||
#endif
|
||||
@ -177,7 +177,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NULL, "null")
|
||||
#if JERRY_BUILTIN_ARRAY
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PUSH, "push")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RACE, "race")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SEAL, "seal")
|
||||
@ -202,7 +202,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TANH, "tanh")
|
||||
#if JERRY_BUILTIN_REGEXP
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TEST, "test")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_THEN, "then")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_STRING
|
||||
@ -233,7 +233,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ATAN2, "atan2")
|
||||
#if JERRY_BUILTIN_MATH && JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ATANH, "atanh")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CATCH, "catch")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_CONTAINER
|
||||
@ -356,7 +356,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DELETE, "delete")
|
||||
#if JERRY_BUILTIN_REGEXP && JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DOTALL, "dotAll")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ERRORS_UL, "errors")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_ANNEXB
|
||||
@ -391,14 +391,14 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PAD_END, "padEnd")
|
||||
#if JERRY_BUILTIN_MATH
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RANDOM, "random")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REASON, "reason")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_ARRAY \
|
||||
|| JERRY_BUILTIN_TYPEDARRAY
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REDUCE, "reduce")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REJECT, "reject")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_STRING && JERRY_ESNEXT
|
||||
@ -422,7 +422,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SOURCE, "source")
|
||||
#if JERRY_BUILTIN_ARRAY
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SPLICE, "splice")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STATUS, "status")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_REGEXP && JERRY_ESNEXT
|
||||
@ -448,7 +448,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_BOOLEAN_UL, "Boolean")
|
||||
#if JERRY_BUILTIN_NUMBER && JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EPSILON_U, "EPSILON")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PROMISE_UL, "Promise")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_REFLECT
|
||||
@ -482,10 +482,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DEFAULT, "default")
|
||||
|| JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ENTRIES, "entries")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FINALLY, "finally")
|
||||
#endif
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FINALLY, "finally")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FLATMAP, "flatMap")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_ARRAY \
|
||||
@ -522,7 +520,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_OWN_KEYS_UL, "ownKeys")
|
||||
|| JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REPLACE, "replace")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RESOLVE, "resolve")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_ARRAY \
|
||||
@ -601,7 +599,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PAD_START, "padStart")
|
||||
|| !(JERRY_ESNEXT)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE_INT, "parseInt")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REJECTED, "rejected")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_DATE
|
||||
@ -662,7 +660,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ENCODE_URI, "encodeURI")
|
||||
|| JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FIND_INDEX, "findIndex")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FULFILLED, "fulfilled")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_DATE
|
||||
@ -716,7 +714,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RANGE_ERROR_UL, "RangeError")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TYPED_ARRAY_UL, "TypedArray")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_UINT8_ARRAY_UL, "Uint8Array")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ALLSETTLED, "allSettled")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_DATAVIEW \
|
||||
@ -906,10 +904,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_SECONDS_UL, "setUTCSeconds")
|
||||
#if JERRY_BUILTIN_NUMBER
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_EXPONENTIAL_UL, "toExponential")
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_AGGREGATE_ERROR_UL, "AggregateError")
|
||||
#endif
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_AGGREGATE_ERROR_UL, "AggregateError")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ARRAY_ITERATOR_UL, "Array Iterator")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ASYNC_GENERATOR_UL, "AsyncGenerator")
|
||||
#endif
|
||||
@ -1091,7 +1087,7 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_INT16_ARRAY_UL)
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_RANGE_ERROR_UL)
|
||||
#elif JERRY_BUILTIN_TYPEDARRAY
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_TYPED_ARRAY_UL)
|
||||
#elif JERRY_BUILTIN_PROMISE
|
||||
#elif JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_ALLSETTLED)
|
||||
#elif JERRY_BUILTIN_DATAVIEW \
|
||||
|| JERRY_BUILTIN_TYPEDARRAY
|
||||
@ -1131,10 +1127,8 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (13, LIT_MAGIC_STRING_GET_UTC_MINUTES_UL
|
||||
#else
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (13, LIT_MAGIC_STRING_IS_PROTOTYPE_OF_UL)
|
||||
#endif
|
||||
#if JERRY_BUILTIN_PROMISE
|
||||
#if JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (14, LIT_MAGIC_STRING_AGGREGATE_ERROR_UL)
|
||||
#elif JERRY_ESNEXT
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (14, LIT_MAGIC_STRING_ARRAY_ITERATOR_UL)
|
||||
#elif JERRY_BUILTIN_BIGINT && JERRY_BUILTIN_TYPEDARRAY
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (14, LIT_MAGIC_STRING_BIGUINT64_ARRAY_UL)
|
||||
#elif JERRY_BUILTIN_ERRORS
|
||||
|
||||
@ -32,7 +32,6 @@ Alternatively, if you want to use a custom profile at
|
||||
# Disable not needed features
|
||||
JERRY_BUILTIN_CONTAINER=0
|
||||
JERRY_BUILTIN_DATAVIEW=0
|
||||
JERRY_BUILTIN_PROMISE=0
|
||||
JERRY_BUILTIN_TYPEDARRAY=0
|
||||
```
|
||||
|
||||
@ -109,8 +108,6 @@ defined to `1`.
|
||||
Enables or disables the [DataView](https://www.ecma-international.org/ecma-262/6.0/#sec-dataview-objects) built-in.
|
||||
* `JERRY_BUILTIN_GLOBAL_THIS`:
|
||||
Enables or disables the [GlobalThisValue](https://262.ecma-international.org/11.0/#sec-globalthis) built-in.
|
||||
* `JERRY_BUILTIN_PROMISE`:
|
||||
Enables or disables the [Promise](http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects) built-in.
|
||||
* `JERRY_BUILTIN_PROXY`:
|
||||
Enables or disables the [Proxy](https://262.ecma-international.org/11.0/#sec-proxy-object-internal-methods-and-internal-slots) related internal workings and built-in.
|
||||
* `JERRY_BUILTIN_REALMS`:
|
||||
@ -137,6 +134,7 @@ defined to `1`.
|
||||
* [iterator](https://www.ecma-international.org/ecma-262/6.0/#sec-iterator-interface) built-in.
|
||||
* [nullish coalescing](https://262.ecma-international.org/11.0/#prod-CoalesceExpression) built-in.
|
||||
* [numeric separator](https://github.com/tc39/proposal-numeric-separator) language element.
|
||||
* [Promise](http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects) built-in.
|
||||
* [rest parameter](http://www.ecma-international.org/ecma-262/6.0/#sec-function-definitions) language element.
|
||||
* [rest operator with object destructuring](https://262.ecma-international.org/11.0/#prod-ObjectBindingPattern) language element.
|
||||
* [spread](https://262.ecma-international.org/11.0/#prod-SpreadElement) syntax.
|
||||
@ -150,7 +148,6 @@ defined to `1`.
|
||||
* `JERRY_BUILTIN_CONTAINER`
|
||||
* `JERRY_BUILTIN_DATAVIEW`
|
||||
* `JERRY_BUILTIN_GLOBAL_THIS`
|
||||
* `JERRY_BUILTIN_PROMISE`
|
||||
* `JERRY_BUILTIN_PROXY`
|
||||
* `JERRY_BUILTIN_REALMS`
|
||||
* `JERRY_BUILTIN_REFLECT`
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user