This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Is a function actually inlined?


On Wed, 8 Oct 2003, Alex Vinokur wrote:

> "Corinna Vinschen" wrote in message 20031008100004.GC2070@cygbert.vinschen.de">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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]