On 14 Jun 2011, at 22:38, Nat! wrote: > Hmm interesting, though I don't see offhand, why dividing what objc_msgSend > does into separate steps makes it inherently more portable. I will have to > look into my code, to see if its feasible to roll my own objc_msgSend, > (because I use it a lot as I found out :) ).
objc_msgSend() is a trampoline function. It must pass all of its arguments to the called IMP. This is not possible in C. Apple implements a version of it in assembly for every calling convention, for every architecture, and for every platform that they support (currently, this comes to about a dozen implementations, and they support a very narrow range of platforms compared to GNUstep). > Ah and one more question, regarding forwarding is __objc_msg_forward (instead > of __objc_msg_forward2) ever really used or can I ignore it, when I run atop > a current runtime ? The forwarding hooks that are used depend on the runtime. See GSFFIInvocation.m for how they are all used. You should never need to care about any of them in your own code. David -- Send from my Jacquard Loom _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
