This is the mail archive of the
mailing list for the GCC project.
Re: [RFC] use symbol_ref flags for rs6000
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Andrew Pinski <pinskia at physics dot uc dot edu>, Jakub Jelinek <jakub at redhat dot com>, Richard Henderson <rth at redhat dot com>, Janis Johnson <janis187 at us dot ibm dot com>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 1 May 2003 18:42:36 -0400
- Subject: Re: [RFC] use symbol_ref flags for rs6000
That when it is a local direct call, in the example it on gcc 3.4
before the original patch went in:
This is direct jump, not going through a dyld stub which is what you
are think of, if the variable is extern then it slow and has to go
through a stub (the only reason why it is slower is because it has to
load each time the address for the function for a call and get where
the current pc is).
extern int thunk;
((int (*)(void))thunk) ();
This produces the call to the stub (without -mdynamic-no-pic):
On Thursday, May 1, 2003, at 18:30 US/Eastern, David Edelsohn wrote:
Andrew Pinski writes:
Andrew> The only problem with this on darwin, it is okay to call the
Andrew> so that will become a regression.
Regession in what sense? I have heard that calling function
pointer on Darwin actually is faster.