HomePhabricator

Clang added a new feature to the ObjC compiler that will translate method calls…

Authored by jingham on Jan 23 2020, 12:35 PM.

Description

Clang added a new feature to the ObjC compiler that will translate method calls to commonly un-overridden methods into a function that checks whether the method is overridden anywhere and if not directly dispatches to the NSObject implementation.

That means if you do override any of these methods, "step-in" will not step
into your code, since we hit the wrapper function, which has no debug info,
and immediately step out again.

Add code to recognize these functions as "trampolines" and a thread plan that
will get us from the function to the user code, if overridden.

rdar://problem/54404114

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