diff --git a/docs/02.API-REFERENCE.md b/docs/02.API-REFERENCE.md index e32521f5a..be70db7a9 100644 --- a/docs/02.API-REFERENCE.md +++ b/docs/02.API-REFERENCE.md @@ -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 diff --git a/jerry-core/api/jerry.c b/jerry-core/api/jerry.c index 394bad09a..44bb1649c 100644 --- a/jerry-core/api/jerry.c +++ b/jerry-core/api/jerry.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 */ /** diff --git a/jerry-core/config.h b/jerry-core/config.h index 9c893c406..d5b262c58 100644 --- a/jerry-core/config.h +++ b/jerry-core/config.h @@ -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 diff --git a/jerry-core/debugger/debugger.c b/jerry-core/debugger/debugger.c index 25f391258..8e868c142 100644 --- a/jerry-core/debugger/debugger.c +++ b/jerry-core/debugger/debugger.c @@ -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; diff --git a/jerry-core/ecma/base/ecma-errors.c b/jerry-core/ecma/base/ecma-errors.c index ea66b9dd7..70bfbeb52 100644 --- a/jerry-core/ecma/base/ecma-errors.c +++ b/jerry-core/ecma/base/ecma-errors.c @@ -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 /** diff --git a/jerry-core/ecma/base/ecma-errors.h b/jerry-core/ecma/base/ecma-errors.h index 01eed06d2..cdb9d88fc 100644 --- a/jerry-core/ecma/base/ecma-errors.h +++ b/jerry-core/ecma/base/ecma-errors.h @@ -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; diff --git a/jerry-core/ecma/base/ecma-gc.c b/jerry-core/ecma/base/ecma-gc.c index 367e42b5f..df33d1e5a 100644 --- a/jerry-core/ecma/base/ecma-gc.c +++ b/jerry-core/ecma/base/ecma-gc.c @@ -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); diff --git a/jerry-core/ecma/base/ecma-globals.h b/jerry-core/ecma/base/ecma-globals.h index 11736ae8d..717df03cc 100644 --- a/jerry-core/ecma/base/ecma-globals.h +++ b/jerry-core/ecma/base/ecma-globals.h @@ -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 */ diff --git a/jerry-core/ecma/base/ecma-init-finalize.c b/jerry-core/ecma/base/ecma-init-finalize.c index 373a832c3..67d637094 100644 --- a/jerry-core/ecma/base/ecma-init-finalize.c +++ b/jerry-core/ecma/base/ecma-init-finalize.c @@ -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; diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror-prototype.c b/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror-prototype.c index e749fc6cd..3fe7ff1b6 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror-prototype.c +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror-prototype.c @@ -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 */ diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror-prototype.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror-prototype.inc.h index 7365960f9..e5fa5d49c 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror-prototype.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror-prototype.inc.h @@ -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" diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror.c b/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror.c index 0b31d3593..c2df08bf5 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror.c +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror.c @@ -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 */ diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror.inc.h index c9c3a0dc1..475efac06 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-aggregateerror.inc.h @@ -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" diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-global.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-global.inc.h index e4724814d..634c16312 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-global.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-global.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, diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.c b/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.c index 6e31ed58e..0ac524ecb 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.c +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.c @@ -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 */ diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.inc.h index 48b5eae9b..2ffcc1b1b 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.inc.h @@ -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" diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-promise.c b/jerry-core/ecma/builtin-objects/ecma-builtin-promise.c index 0ad3d005a..46085d2df 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-promise.c +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-promise.c @@ -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 */ diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-promise.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtin-promise.inc.h index 5bc63f7ea..03c6439c5 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-promise.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-promise.inc.h @@ -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" diff --git a/jerry-core/ecma/builtin-objects/ecma-builtins.inc.h b/jerry-core/ecma/builtin-objects/ecma-builtins.inc.h index 50929119b..1a19cef12 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtins.inc.h +++ b/jerry-core/ecma/builtin-objects/ecma-builtins.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 diff --git a/jerry-core/ecma/operations/ecma-exceptions.c b/jerry-core/ecma/operations/ecma-exceptions.c index 2649f7bdb..8afb5d8e6 100644 --- a/jerry-core/ecma/operations/ecma-exceptions.c +++ b/jerry-core/ecma/operations/ecma-exceptions.c @@ -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 */ /** * @} diff --git a/jerry-core/ecma/operations/ecma-exceptions.h b/jerry-core/ecma/operations/ecma-exceptions.h index c6c002265..b23281ef3 100644 --- a/jerry-core/ecma/operations/ecma-exceptions.h +++ b/jerry-core/ecma/operations/ecma-exceptions.h @@ -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 */ /** * @} diff --git a/jerry-core/ecma/operations/ecma-jobqueue.c b/jerry-core/ecma/operations/ecma-jobqueue.c index aba9ce810..3b276b1f0 100644 --- a/jerry-core/ecma/operations/ecma-jobqueue.c +++ b/jerry-core/ecma/operations/ecma-jobqueue.c @@ -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 */ diff --git a/jerry-core/ecma/operations/ecma-jobqueue.h b/jerry-core/ecma/operations/ecma-jobqueue.h index 544b3eca9..e75f05f60 100644 --- a/jerry-core/ecma/operations/ecma-jobqueue.h +++ b/jerry-core/ecma/operations/ecma-jobqueue.h @@ -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 */ diff --git a/jerry-core/ecma/operations/ecma-objects.c b/jerry-core/ecma/operations/ecma-objects.c index 6c5ba43a7..d3606cb8f 100644 --- a/jerry-core/ecma/operations/ecma-objects.c +++ b/jerry-core/ecma/operations/ecma-objects.c @@ -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 */ diff --git a/jerry-core/ecma/operations/ecma-promise-object.c b/jerry-core/ecma/operations/ecma-promise-object.c index 6b6a2e76d..4404278ad 100644 --- a/jerry-core/ecma/operations/ecma-promise-object.c +++ b/jerry-core/ecma/operations/ecma-promise-object.c @@ -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 */ diff --git a/jerry-core/ecma/operations/ecma-promise-object.h b/jerry-core/ecma/operations/ecma-promise-object.h index c41c10b20..852f474f8 100644 --- a/jerry-core/ecma/operations/ecma-promise-object.h +++ b/jerry-core/ecma/operations/ecma-promise-object.h @@ -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 */ diff --git a/jerry-core/jcontext/jcontext.h b/jerry-core/jcontext/jcontext.h index 3eaf64971..0b21c465e 100644 --- a/jerry-core/jcontext/jcontext.h +++ b/jerry-core/jcontext/jcontext.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 */ diff --git a/jerry-core/lit/lit-magic-strings.inc.h b/jerry-core/lit/lit-magic-strings.inc.h index 9227621db..fe0a6b0f3 100644 --- a/jerry-core/lit/lit-magic-strings.inc.h +++ b/jerry-core/lit/lit-magic-strings.inc.h @@ -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 diff --git a/jerry-core/profiles/README.md b/jerry-core/profiles/README.md index c2a21d0f8..0323dc482 100644 --- a/jerry-core/profiles/README.md +++ b/jerry-core/profiles/README.md @@ -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`