discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ANN: GNUstep 2.6.0 for openSUSE 11.4


From: Nat!
Subject: Re: ANN: GNUstep 2.6.0 for openSUSE 11.4
Date: Wed, 15 Jun 2011 00:19:23 +0200

Am 14.06.2011 um 23:47 schrieb David Chisnall:

> 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 I see. I hope, that if I reduce the scope to a small fixed number of id 
parameters, I can get by. 

>> 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.  

Is there some exported #define (like OBJC_API_VERSION) that could be checked, 
which runtime I am compiling against ? 

> You should never need to care about any of them in your own code.

Hmm, maybe it is different on GNUstep. On OSX I know that I care :)

Ciao
   Nat!
------------------------------------------------------
Ich selbst habe mich persönlich stets an den 
sittlichen Gepflogenheiten des Philisters beteiligt;
nicht, weil ich ihnen Wert beigemessen hätte, sondern
weil ich - vorwärts, immer mal wieder! - keinen Anlaß
traf, mich von ihnen zu trennen. -- H. Mann





reply via email to

[Prev in Thread] Current Thread [Next in Thread]