Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Wed, 8 Oct 2003 12:39:29 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Alex Vinokur cc: cygwin AT cygwin DOT com Subject: Re: Is a function actually inlined? In-Reply-To: Message-ID: References: Importance: Normal MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 8 Oct 2003, Alex Vinokur wrote: > "Corinna Vinschen" wrote in message news:20031008100004 DOT GC2070 AT cygbert DOT vinschen DOT 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 AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT 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/