This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GCJ - reducing executable sizes


First off, I just wanted to say 'thanks' to any of the GCJ devs that
might be on this list, I find it the *coolest* compiler on the planet
and have been using it for years on numerous projects.  Very
impressive stuff!

I've decided to do some hacking on GCJ itself - my goal: to reduce
executable sizes to be a bit closer to what might come from a
'typical' gcc c/c++ executable.   Just so that we can make smaller
binary distributables.  (Side note, I am not worried about the runtime
VM, just precompiling everything)  I know that some things might have
to change in undesirable ways to do this, but I'm hoping command line
arguments can enable/disable the functionality transparently.

I wanted to ping the list before I started - as I'm sure many here are
much better with GCC internals than I:

1) I have seen the 'no-vm' flag (or similar), and did try this - it
reduced executable size significantly but still gives a 'Hello World'
of something in the order of 1-2MB.  Have I done anything incorrectly?
 What is the smallest anyone else has gotten an executable (and what
flags used?)
2) I am perusing/researching the GCJ code base, from snapshot, to try
and get an idea where some of the bulk is coming, and if it can be
refined.  Can any gurus give some pointers on where some possible
optimizations can be made?
3) Any pointers on the best places to RTFM for something like this -
particularly GCJ internals/architecture, as I would love to be better
prepared for the undertaking
4) I heard a rumor that a GCJ lead developer got headhunted, is it
true? Is the project still alive and kicking!?

Thanks much in advance for any tips, and thanks again for the great
work on such a product, I hope I can help contribute back something
useful soon,

- Sal


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]