This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Cross-class inlining
- From: "Robin Garner" <robin dot garner at iname dot com>
- To: "Andrew Haley" <aph at redhat dot com>
- Cc: "java" <java at gcc dot gnu dot org>
- Date: Wed, 22 Oct 2003 04:17:40 -0500
- Subject: Re: Cross-class inlining
So it does !
Only seems to work if I compile the whole system in a single command, though.
Under what circumstances does it do this inlining ? I tried this:
gcc -O3 -o a.o a.java
gcc -O3 -o b.o b.java a.java
gcc -O3 -o c.o c.java a.java
gcc -O3 -o d.o d.java c.java a.java
etc, where I know (from profiling and hand tinkering) that inlining methods from the rightmost classes in the leftmost ones produced a good speedup. This didn't seem to work at all.
Still, the "all in 1" approach gets a 49% speedup over just -O3 on individual modules, and 17% better than I could do by hand.
And for your interest, JMTk, the memory management subsystem of Jikes RVM now compiles and runs with gcj. Still quite limited (only 1 of the JMTk collectors so far), and only in a testbed environment. Performance, however, is great (and now even better).
Cheers
----- Original Message -----
From: Andrew Haley <aph@redhat.com>
Date: Mon, 20 Oct 2003 18:41:08 +0100
To: "Robin Garner" <robin.garner@iname.com>
Subject: Cross-class inlining
> Robin Garner writes:
>
> > I've seen some mention on the list of inter-class inlining being
> > added to gcj in the near future. Can someone say more ? I presume
> > this is inter-compilation-unit as well as inter-class ?
>
> It's already there, and it works.
>
> Try this:
>
> gcj -O3 a.java b.java c.java -c -o foo.o
> gcj foo.o --main=b
>
> Andrew.
--
__________________________________________________________
Sign-up for your own personalized E-mail at Mail.com
http://www.mail.com/?sr=signup
CareerBuilder.com has over 400,000 jobs. Be smarter about your job search
http://corp.mail.com/careers