Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jul 2003 13:19:18 -0700
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        "Alan L. Cox" <alc@imimic.com>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern init_main.c kern_malloc.c md5c.c subr_autoconf.c subr_mbuf.c subr_prf.c tty_subr.c vfs_cluster.c vfs_subr.c
Message-ID:  <20030722201918.GA1052@athlon.pn.xcllnt.net>
In-Reply-To: <3F1D8858.670C08B2@imimic.com>
References:  <200307221024.h6MAOggG066724@repoman.freebsd.org> <20030722093443.GD58118@technokratis.com> <20030723003823.R8380@gamplex.bde.org> <20030722112901.GA59012@technokratis.com> <20030722155139.GA39123@troutmask.apl.washington.edu> <3F1D8858.670C08B2@imimic.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jul 22, 2003 at 01:54:16PM -0500, Alan L. Cox wrote:
> > 
> > `-finline-limit=N'
> >      By default, gcc limits the size of functions that can be inlined.
> >      This flag allows the control of this limit for functions that are
> >      explicitly marked as inline (i.e., marked with the inline keyword
> >      or defined within the class definition in c++).  N is the size of
> >      functions that can be inlined in number of pseudo instructions
> >      (not counting parameter handling).  The default value of N is 600.
> >      Increasing this value can result in more inlined code at the cost
> >      of compilation time and memory consumption.  Decreasing usually
> > 
> 
> There is another way.  The following example illustrates its use.
> 
> static int    vm_object_backing_scan(vm_object_t object, int op)
> __attribute__((always_inline));

I hope we can come up with a scheme that allows us to control
inlining on a per-platform basis. Current events demonstrate
pretty good how people treat optimizations (which inlining is)
as machine independent fodder and how easy it is to generalize
beyond sensibility.
Unfortunately, the use of an expression-like syntax (inline or
__attribute__ keyword) makes this harder than with a statement-
like syntax (like #pragma), because of the 2-D space (platforms
vs functions).

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel@xcllnt.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030722201918.GA1052>