[PATCH] D86049: RFC: Implement optional exportable wrapper function generation for objc_direct methods.

Puyan Lotfi via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 28 08:57:24 PDT 2022


plotfi added a comment.

In D86049#3819109 <https://reviews.llvm.org/D86049#3819109>, @mwyman wrote:

> In D86049#3818981 <https://reviews.llvm.org/D86049#3818981>, @plotfi wrote:
>
>> @ahatanak I can revive some of what I was working on from https://reviews.llvm.org/D86049?id=285923 if we think we need a thunk for the checks as @rjmccall mentioned.
>
> I believe the generated direct methods already handle the null checks and class init in `CGObjCCommonMac::GenerateDirectMethodPrologue`, meaning the thunks aren't strictly necessary for the callee to handle them.
>
> Could the thunks instead allow us to have publicly-visible mangled names (something akin to the new selector stubs `_objc_msgSend$selectorName` but for `_objc_direct$Class_selectorName`) while leaving the actual impl name alone, letting the stack traces see normal ObjC symbol names?

I think the square brackets are still problematic for lining, so is LLVM's handling of \01 (I believe).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86049/new/

https://reviews.llvm.org/D86049



More information about the cfe-commits mailing list