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
Marcel Moolenaar
marcel at xcllnt.net
Tue Jul 22 13:19:54 PDT 2003
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 at xcllnt.net
More information about the cvs-src
mailing list