From owner-cvs-src@FreeBSD.ORG Tue Jul 22 13:19:53 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AB87D37B401 for ; Tue, 22 Jul 2003 13:19:53 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9157143F85 for ; Tue, 22 Jul 2003 13:19:52 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from athlon.pn.xcllnt.net (athlon.pn.xcllnt.net [192.168.4.3]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id h6MKJJwO015170; Tue, 22 Jul 2003 13:19:19 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from athlon.pn.xcllnt.net (localhost [127.0.0.1]) by athlon.pn.xcllnt.net (8.12.9/8.12.9) with ESMTP id h6MKJJw9042362; Tue, 22 Jul 2003 13:19:19 -0700 (PDT) (envelope-from marcel@athlon.pn.xcllnt.net) Received: (from marcel@localhost) by athlon.pn.xcllnt.net (8.12.9/8.12.9/Submit) id h6MKJIKq042361; Tue, 22 Jul 2003 13:19:18 -0700 (PDT) (envelope-from marcel) Date: Tue, 22 Jul 2003 13:19:18 -0700 From: Marcel Moolenaar To: "Alan L. Cox" Message-ID: <20030722201918.GA1052@athlon.pn.xcllnt.net> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3F1D8858.670C08B2@imimic.com> User-Agent: Mutt/1.5.4i cc: phk@phk.freebsd.dk cc: src-committers@FreeBSD.org cc: Bosko Milekic cc: Bruce Evans cc: cvs-src@FreeBSD.org cc: Steve Kargl 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 X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jul 2003 20:19:54 -0000 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