Dissecting objc_msgSend on ARM64
&gt; objc_msgSend is written in assembly. There are two reasons for this: one is that it&#x27;s not possible to write a function which preserves unknown arguments and jumps to an arbitrary function pointer in C.<p>Wow... this is a bit off topic but can anyone expand on this side note and explain why?<p>(Every Objective-C implementation <i>requires</i> assembly code?)