diff --git a/jerry-core/lit/lit-magic-strings.inc.h b/jerry-core/lit/lit-magic-strings.inc.h index b663a5086..47a005ae4 100644 --- a/jerry-core/lit/lit-magic-strings.inc.h +++ b/jerry-core/lit/lit-magic-strings.inc.h @@ -421,9 +421,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REVOKE, "revoke") || JERRY_ESNEXT LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SEARCH, "search") #endif -#if !JERRY_ESNEXT && JERRY_BUILTIN_REGEXP \ -|| JERRY_BUILTIN_REGEXP && JERRY_ESNEXT \ -|| JERRY_BUILTIN_REGEXP && !(JERRY_ESNEXT) +#if JERRY_BUILTIN_REGEXP LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SOURCE, "source") #endif #if JERRY_BUILTIN_ARRAY @@ -602,10 +600,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MATCH_ALL, "matchAll") #if JERRY_BUILTIN_STRING && JERRY_ESNEXT LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PAD_START, "padStart") #endif -#if JERRY_ESNEXT \ -|| !(JERRY_ESNEXT) LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE_INT, "parseInt") -#endif #if JERRY_ESNEXT LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REJECTED, "rejected") #endif @@ -680,13 +675,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UINT32_UL, "getUint32") #if JERRY_ESNEXT LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_INTEGER, "isInteger") #endif -#if JERRY_BUILTIN_REGEXP \ -|| JERRY_ESNEXT LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LASTINDEX_UL, "lastIndex") -#endif -#if !JERRY_ESNEXT && JERRY_BUILTIN_REGEXP \ -|| JERRY_BUILTIN_REGEXP && JERRY_ESNEXT \ -|| JERRY_BUILTIN_REGEXP && !(JERRY_ESNEXT) +#if JERRY_BUILTIN_REGEXP LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MULTILINE, "multiline") #endif LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PROTOTYPE, "prototype") @@ -755,15 +745,10 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_DATE_UL, "getUTCDate") #if JERRY_BUILTIN_GLOBAL_THIS LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GLOBAL_THIS_UL, "globalThis") #endif -#if !JERRY_ESNEXT && JERRY_BUILTIN_REGEXP \ -|| JERRY_BUILTIN_REGEXP && JERRY_ESNEXT \ -|| JERRY_BUILTIN_REGEXP && !(JERRY_ESNEXT) +#if JERRY_BUILTIN_REGEXP LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IGNORECASE_UL, "ignoreCase") #endif -#if JERRY_ESNEXT \ -|| !(JERRY_ESNEXT) LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE_FLOAT, "parseFloat") -#endif #if JERRY_BUILTIN_REGEXP && JERRY_BUILTIN_STRING && JERRY_ESNEXT LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REPLACE_ALL, "replaceAll") #endif @@ -781,10 +766,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_DATE_UL, "setUTCDate") #if JERRY_BUILTIN_STRING && JERRY_ESNEXT LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STARTS_WITH, "startsWith") #endif -#if JERRY_RESOURCE_NAME \ -|| !(JERRY_RESOURCE_NAME) LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RESOURCE_ANON, "") -#endif #if JERRY_BUILTIN_TYPEDARRAY LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ARRAY_BUFFER_UL, "ArrayBuffer") #endif @@ -831,8 +813,7 @@ 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 JERRY_BUILTIN_ANNEXB && JERRY_BUILTIN_DATE && JERRY_ESNEXT \ -|| JERRY_BUILTIN_ANNEXB && JERRY_BUILTIN_DATE && !(JERRY_ESNEXT) +#if JERRY_BUILTIN_ANNEXB && JERRY_BUILTIN_DATE LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_GMT_STRING_UL, "toGMTString") #endif #if JERRY_BUILTIN_DATE @@ -848,7 +829,7 @@ 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 JERRY_BUILTIN_DATE && !(JERRY_ESNEXT) \ +#if JERRY_BUILTIN_DATE \ || JERRY_ESNEXT LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_UTC_STRING_UL, "toUTCString") #endif @@ -1027,7 +1008,7 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTORS_UL, "getOwnP LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FUNCTION_TO_STRING_ANON_ASYNC_GENERATOR, "async function* anonymous(") #endif LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FUNCTION_TO_STRING_NATIVE, "function () { [native code] }") -#if JERRY_FUNCTION_TO_STRING && JERRY_SNAPSHOT_EXEC \ +#if JERRY_SNAPSHOT_EXEC \ || !(JERRY_FUNCTION_TO_STRING) LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FUNCTION_TO_STRING_ECMA, "function () { /* ecmascript */ }") #endif @@ -1146,20 +1127,7 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_COPY_WITHIN) #else LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (10, LIT_MAGIC_STRING_ENUMERABLE) #endif -#if JERRY_RESOURCE_NAME \ -|| !(JERRY_RESOURCE_NAME) LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_RESOURCE_ANON) -#elif JERRY_BUILTIN_TYPEDARRAY -LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_ARRAY_BUFFER_UL) -#elif JERRY_BUILTIN_ERRORS -LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_SYNTAX_ERROR_UL) -#elif JERRY_BUILTIN_TYPEDARRAY -LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_UINT16_ARRAY_UL) -#elif JERRY_BUILTIN_STRING && JERRY_ESNEXT -LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_CODE_POINT_AT) -#else -LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (11, LIT_MAGIC_STRING_CONSTRUCTOR) -#endif #if JERRY_BUILTIN_TYPEDARRAY LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (12, LIT_MAGIC_STRING_FLOAT32_ARRAY_UL) #elif JERRY_BUILTIN_TYPEDARRAY && JERRY_NUMBER_TYPE_FLOAT64 @@ -1268,15 +1236,15 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (26, LIT_MAGIC_STRING_FUNCTION_TO_STRING LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (27, LIT_MAGIC_STRING_FUNCTION_TO_STRING_NATIVE) LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (28, LIT_MAGIC_STRING_FUNCTION_TO_STRING_NATIVE) LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (29, LIT_MAGIC_STRING_FUNCTION_TO_STRING_NATIVE) -#if JERRY_FUNCTION_TO_STRING && JERRY_SNAPSHOT_EXEC \ +#if JERRY_SNAPSHOT_EXEC \ || !(JERRY_FUNCTION_TO_STRING) LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (30, LIT_MAGIC_STRING_FUNCTION_TO_STRING_ECMA) #endif -#if JERRY_FUNCTION_TO_STRING && JERRY_SNAPSHOT_EXEC \ +#if JERRY_SNAPSHOT_EXEC \ || !(JERRY_FUNCTION_TO_STRING) LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (31, LIT_MAGIC_STRING_FUNCTION_TO_STRING_ECMA) #endif -#if JERRY_FUNCTION_TO_STRING && JERRY_SNAPSHOT_EXEC \ +#if JERRY_SNAPSHOT_EXEC \ || !(JERRY_FUNCTION_TO_STRING) LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (32, LIT_MAGIC_STRING_FUNCTION_TO_STRING_ECMA) #endif diff --git a/tools/gen-magic-strings.py b/tools/gen-magic-strings.py index f8c11fa50..bf1e74daf 100755 --- a/tools/gen-magic-strings.py +++ b/tools/gen-magic-strings.py @@ -176,6 +176,11 @@ def calculate_magic_string_guards(defs, uses, debug=False): for i, guard_i in enumerate(guards): if guard_i is None: continue + for guard in guard_i.copy(): + neg_guard = "!(" + guard[1:] + ")" + for guard_j in guards: + if guard_j is not None and neg_guard in guard_j: + guard_i.remove(guard) for j, guard_j in enumerate(guards): if j == i or guard_j is None: continue