mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Fix magic-string generation (#4751)
In some cases the magic-string generator creates conditions like: A || !A . These conditions can be simplified. JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi csgergo92@gmail.com
This commit is contained in:
parent
d4231e7251
commit
fe3a5c08b2
@ -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, "<anonymous>")
|
||||
#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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user