Is a function actually inlined?
Igor Pechtchanski
pechtcha@cs.nyu.edu
Wed Oct 8 16:47:00 GMT 2003
On Wed, 8 Oct 2003, Alex Vinokur wrote:
> "Corinna Vinschen" wrote in message news:20031008100004.GC2070@cygbert.vinschen.de...
> > On Wed, Oct 08, 2003 at 11:19:27AM +0200, Alex Vinokur wrote:
> > > How can one know if a function requested to be inlined is actually
> > > inlined?
> >
> > A look into the assembler output generated by gcc/g++ will show you.
>
> How can one conclude if a function is actually inlined on the basis
> working with the nm and objdump utilities? For instance, are 'the foo2()
> and foo3() function from my original posting' actually inlined?
The general rule of thumb is: if there's a call to a function, it's not
inlined.
> $ grep foo t.s
>
> .globl __ZN3Foo4foo1Ev
> .def __ZN3Foo4foo1Ev; .scl 2; .type 32; .endef
> __ZN3Foo4foo1Ev:
> call __ZN3Foo4foo1Ev
> call __ZN3Foo4foo2Ev
> call __ZN3Foo4foo3Ev
^^^^^^^^^^^^^^^^^^^^
FWIW, it doesn't look like they are inlined.
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu
ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.com
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster." -- Patrick Naughton
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list