> Obviously, the return types on the functions and arguments and such are > purely for example. This code only has one input, and no obvious outputs. > I would guess (as did someone else) that this was originally objective-C > code, and this is a very optimised form of a method call on an object.
Nah, this is just basic C++ method call :) > It seems to be deliberately leaving r3 alone, which would make that an > implicit first argument to the subroutine being called. The fact that the > branch saves the link implies that it is a function of some sort. My guess > is that r3 contains a pointer to the object, and the two loads are to > get to the addresses of the methods, then to the correct method. Yes, r3 is "this". > Just as a note, r2 is sometimes used as a safe spot to store a pointer > to the TOC or other global environment type stuff. Depending on the > runtime environment of this snippet, it may be important that r2 is > being used as one of the intermediate loads. In this case, it's just the vtable pointer Ben. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]