David S. Miller wrote:

In the generated asm on sparc64, invoke2() gets a tail-call
whereas invoke() does not.  Hmmm...


Apparently support for indirect tail-calls was added to gcc 3.4.

gcc-3.3.5:
0x0000000000000000 <invoke+0>: sub $0x8,%rsp
0x0000000000000004 <invoke+4>: callq *%esi
0x0000000000000006 <invoke+6>: add $0x8,%rsp
0x000000000000000a <invoke+10>: retq


gcc-3.4.4:
0x0000000000000000 <invoke+0>:  mov    %rsi,%r11
0x0000000000000003 <invoke+3>:  jmpq   *%r11d

Regards
Patrick

_______________________________________________
Bridge mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/bridge

Reply via email to