aboutsummaryrefslogtreecommitdiff
path: root/lldb/unittests/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2021-10-08 05:20:45 -0400
committerJohn McCall <rjmccall@apple.com>2021-10-08 05:44:06 -0400
commit5ab6ee75994d645725264e757d67bbb1c96fb2b6 (patch)
tree85139e61b65a6ad5311f313f6898309bb09fba24 /lldb/unittests/ScriptInterpreter/Python
parent35ebe4cc24f87397762e35831953c4bfe5f52def (diff)
downloadllvm-5ab6ee75994d645725264e757d67bbb1c96fb2b6.zip
llvm-5ab6ee75994d645725264e757d67bbb1c96fb2b6.tar.gz
llvm-5ab6ee75994d645725264e757d67bbb1c96fb2b6.tar.bz2
Fix a variety of bugs with nil-receiver checks when targeting
non-Darwin ObjC runtimes: - Use the same logic the Darwin runtime does for inferring that a receiver is non-null and therefore doesn't require null checks. Previously we weren't skipping these for non-super dispatch. - Emit a null check when there's a consumed parameter so that we can destroy the argument if the call doesn't happen. This mostly involves extracting some common logic from the Darwin-runtime code. - Generate a zero aggregate by zeroing the same memory that was used in the method call instead of zeroing separate memory and then merging them with a phi. This uses less memory and avoids unnecessary copies. - Emit zero initialization, and generate zero values in phis, using the proper zero-value routines instead of assuming that the zero value of the result type has a bitwise-zero representation.
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions