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:
Gergo Csizi
2021-10-15 19:09:04 +02:00
committed by GitHub
parent d4231e7251
commit fe3a5c08b2
2 changed files with 14 additions and 41 deletions
+5
View File
@@ -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