On 07 Dec 2012, at 17:51, Martin wrote:

> Does anyone know how self is passed on PPC or ARM?
> 
> On the one hand IRRC I read self is passed as additional param at the end of 
> the list.

I don't think that has ever been the case.

> But looking at intel code 32 bit, it looks like it always goes into EAX 
> (calling method register)

That is not true if the method is declared as cdecl or so.

> On Intel 64 bit it is RCX or RDI depending on it in Windows or not
> 
> What on the others, fixed register, or simply as if it was the last param?

It is *currently* (I don't think we specify anywhere how or in what order 
hidden parameters are passed) always passed as the first parameter. Whether 
this is a register or a memory location depends on the architecture, ABI and 
specified calling convention. On PPC resp. ARM this is always R3 resp. R0 with 
the currently existing ABIs.


Jonas_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to