Fix values of properties that reference intrinsic function objects (#4024)

JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai daniel.batyai@h-lab.eu
This commit is contained in:
Dániel Bátyai
2020-07-24 12:54:54 +02:00
committed by GitHub
parent 54bfd2ba37
commit cf097ca16b
27 changed files with 349 additions and 256 deletions
+3 -1
View File
@@ -41,7 +41,9 @@ typedef enum
LIT_INTERNAL_MAGIC_STRING_MAP_KEY, /**< Property key used when an object is a key in a map object */
LIT_INTERNAL_MAGIC_API_INTERNAL, /**< Property key used to add non-visible JS properties from the public API */
LIT_INTERNAL_MAGIC_STRING_ARRAY_PROTOTYPE_VALUES, /**< %ArrayProto_values% intrinsic routine */
LIT_INTERNAL_MAGIC_STRING_SET_PROTOTYPE_KEYS, /**< Set.prototype values, keys and [@@iterator] routines */
LIT_INTERNAL_MAGIC_STRING_TYPEDARRAY_PROTOTYPE_VALUES, /**< %TypedArray%.prototype values and [@@iterator] routine */
LIT_INTERNAL_MAGIC_STRING_SET_PROTOTYPE_VALUES, /**< Set.prototype values, keys and [@@iterator] routines */
LIT_INTERNAL_MAGIC_STRING_MAP_PROTOTYPE_ENTRIES, /**< Map.prototype entries and [@@iterator] routines */
LIT_INTERNAL_MAGIC_THIS_BINDING_VALUE, /**< FunctionEnvironmentRecord [[ThisBindingValue]] internal slot */
LIT_INTERNAL_MAGIC_PROMISE_CAPABILITY, /**< PromiseCapability record */
/* List of well known symbols */
+21 -16
View File
@@ -48,7 +48,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_OF, "of")
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LN2_U, "LN2")
#endif
#if ENABLED (JERRY_BUILTIN_CONTAINER) \
|| ENABLED (JERRY_BUILTIN_MAP)
|| ENABLED (JERRY_BUILTIN_MAP) \
|| ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MAP_UL, "Map")
#endif
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NAN, "NaN")
@@ -162,10 +163,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FROM, "from")
#if ENABLED (JERRY_BUILTIN_MATH) && ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IMUL, "imul")
#endif
#if ENABLED (JERRY_BUILTIN_ARRAY) \
|| ENABLED (JERRY_BUILTIN_TYPEDARRAY)
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_JOIN, "join")
#endif
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_KEYS, "keys")
#if ENABLED (JERRY_BUILTIN_MATH) && ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LOG2, "log2")
@@ -394,7 +392,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SEARCH, "search")
#endif
#if !ENABLED (JERRY_ESNEXT) && ENABLED (JERRY_BUILTIN_REGEXP) \
|| ENABLED (JERRY_BUILTIN_REGEXP) && ENABLED (JERRY_ESNEXT) \
|| ENABLED (JERRY_BUILTIN_REGEXP) && !( ENABLED (JERRY_ESNEXT))
|| ENABLED (JERRY_BUILTIN_REGEXP) && !(ENABLED (JERRY_ESNEXT))
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SOURCE, "source")
#endif
#if ENABLED (JERRY_BUILTIN_ARRAY)
@@ -565,7 +563,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ITERATOR, "iterator")
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PAD_START, "padStart")
#endif
#if ENABLED (JERRY_ESNEXT) \
|| !( ENABLED (JERRY_ESNEXT))
|| !(ENABLED (JERRY_ESNEXT))
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE_INT, "parseInt")
#endif
#if ENABLED (JERRY_BUILTIN_DATE)
@@ -638,7 +636,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LASTINDEX_UL, "lastIndex")
#endif
#if !ENABLED (JERRY_ESNEXT) && ENABLED (JERRY_BUILTIN_REGEXP) \
|| ENABLED (JERRY_BUILTIN_REGEXP) && ENABLED (JERRY_ESNEXT) \
|| ENABLED (JERRY_BUILTIN_REGEXP) && !( ENABLED (JERRY_ESNEXT))
|| ENABLED (JERRY_BUILTIN_REGEXP) && !(ENABLED (JERRY_ESNEXT))
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MULTILINE, "multiline")
#endif
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PROTOTYPE, "prototype")
@@ -693,11 +691,11 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_DATE_UL, "getUTCDate")
#endif
#if !ENABLED (JERRY_ESNEXT) && ENABLED (JERRY_BUILTIN_REGEXP) \
|| ENABLED (JERRY_BUILTIN_REGEXP) && ENABLED (JERRY_ESNEXT) \
|| ENABLED (JERRY_BUILTIN_REGEXP) && !( ENABLED (JERRY_ESNEXT))
|| ENABLED (JERRY_BUILTIN_REGEXP) && !(ENABLED (JERRY_ESNEXT))
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IGNORECASE_UL, "ignoreCase")
#endif
#if ENABLED (JERRY_ESNEXT) \
|| !( ENABLED (JERRY_ESNEXT))
|| !(ENABLED (JERRY_ESNEXT))
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE_FLOAT, "parseFloat")
#endif
#if ENABLED (JERRY_BUILTIN_DATAVIEW)
@@ -755,7 +753,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_FULL_YEAR_UL, "setFullYear")
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_HOURS_UL, "setUTCHours")
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_MONTH_UL, "setUTCMonth")
#endif
#if ENABLED (JERRY_BUILTIN_ANNEXB) && ENABLED (JERRY_BUILTIN_DATE)
#if ENABLED (JERRY_BUILTIN_ANNEXB) && ENABLED (JERRY_BUILTIN_DATE) && ENABLED (JERRY_ESNEXT) \
|| ENABLED (JERRY_BUILTIN_ANNEXB) && ENABLED (JERRY_BUILTIN_DATE) && !(ENABLED (JERRY_ESNEXT))
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_GMT_STRING_UL, "toGMTString")
#endif
#if ENABLED (JERRY_BUILTIN_DATE)
@@ -771,7 +770,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_PRECISION_UL, "toPrecision")
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_PRIMITIVE, "toPrimitive")
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_STRING_TAG, "toStringTag")
#endif
#if ENABLED (JERRY_BUILTIN_DATE)
#if ENABLED (JERRY_BUILTIN_DATE) && !(ENABLED (JERRY_ESNEXT)) \
|| ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_UTC_STRING_UL, "toUTCString")
#endif
#if ENABLED (JERRY_BUILTIN_STRING)
@@ -786,7 +786,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FLOAT32_ARRAY_UL, "Float32Array")
#if ENABLED (JERRY_BUILTIN_TYPEDARRAY) && ENABLED (JERRY_NUMBER_TYPE_FLOAT64)
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FLOAT64_ARRAY_UL, "Float64Array")
#endif
#if ENABLED (JERRY_BUILTIN_DATE)
#if ENABLED (JERRY_BUILTIN_DATE) \
|| ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_INVALID_DATE_UL, "Invalid Date")
#endif
#if ENABLED (JERRY_BUILTIN_MAP) \
@@ -937,7 +938,8 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (1, LIT_MAGIC_STRING_OF)
#elif ENABLED (JERRY_BUILTIN_MATH)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (1, LIT_MAGIC_STRING_LN2_U)
#elif ENABLED (JERRY_BUILTIN_CONTAINER) \
|| ENABLED (JERRY_BUILTIN_MAP)
|| ENABLED (JERRY_BUILTIN_MAP) \
|| ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (1, LIT_MAGIC_STRING_MAP_UL)
#else
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (1, LIT_MAGIC_STRING_NAN)
@@ -952,7 +954,8 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (2, LIT_MAGIC_STRING_OF)
#elif ENABLED (JERRY_BUILTIN_MATH)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (2, LIT_MAGIC_STRING_LN2_U)
#elif ENABLED (JERRY_BUILTIN_CONTAINER) \
|| ENABLED (JERRY_BUILTIN_MAP)
|| ENABLED (JERRY_BUILTIN_MAP) \
|| ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (2, LIT_MAGIC_STRING_MAP_UL)
#else
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (2, LIT_MAGIC_STRING_NAN)
@@ -960,7 +963,8 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (2, LIT_MAGIC_STRING_NAN)
#if ENABLED (JERRY_BUILTIN_MATH)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (3, LIT_MAGIC_STRING_LN2_U)
#elif ENABLED (JERRY_BUILTIN_CONTAINER) \
|| ENABLED (JERRY_BUILTIN_MAP)
|| ENABLED (JERRY_BUILTIN_MAP) \
|| ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (3, LIT_MAGIC_STRING_MAP_UL)
#else
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (3, LIT_MAGIC_STRING_NAN)
@@ -1007,7 +1011,8 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_RESOURCE_ANON)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (12, LIT_MAGIC_STRING_FLOAT32_ARRAY_UL)
#elif ENABLED (JERRY_BUILTIN_TYPEDARRAY) && ENABLED (JERRY_NUMBER_TYPE_FLOAT64)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (12, LIT_MAGIC_STRING_FLOAT64_ARRAY_UL)
#elif ENABLED (JERRY_BUILTIN_DATE)
#elif ENABLED (JERRY_BUILTIN_DATE) \
|| ENABLED (JERRY_ESNEXT)
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (12, LIT_MAGIC_STRING_INVALID_DATE_UL)
#elif ENABLED (JERRY_BUILTIN_MAP) \
|| ENABLED (JERRY_ESNEXT)