-
-
Notifications
You must be signed in to change notification settings - Fork 34.4k
JIT optimizer: !sym_is_null(obj) is not same as sym_is_not_null(obj) #148078
Copy link
Copy link
Open
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-JITtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
The problem with the above pattern is that obj has three states in terms of nullness, NULL/not-NULL/UKNOWN, so !not-null = UKNOWN/NULL which is not what the optimization is usually expecting (the unknown part).
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-JITtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error