HomePhabricator

Pass arguments correctly to the objc object checker on arm64

Description

Pass arguments correctly to the objc object checker on arm64

Traditionally objc had two entry points, objc_msgSend for scalar
return methods, and objc_msgSend_stret for struct return convention
methods. But on arm64 the second was not needed (since arm64 doesn't
use an argument register for the struct return pointer) so it was removed.

The code that dispatches to the objc object checker when it sees some
flavor of objc_msgSend was not aware of this change so was sending the
wrong arguments to the checker.

rdar://problem/48315890

Differential Revision: https://reviews.llvm.org/D58699

Details

Committed
jinghamFeb 27 2019, 12:27 PM
Differential Revision
D58699: Adapt the ObjC checker instrumentation to handle objc_msgSend with struct returns
Branches
Unknown
Tags
Unknown