Hi,
Now that we have people using Eclipse on IcedTea, we have people
starting to hit memory limits. I don't understand the situation very
well, but here are some links to Eclipse bug reports, etc.:
http://www.eclipsezone.com/eclipse/forums/t101303.rhtml
http://wiki.eclipse.org/FAQ_How_do_I_increase_the_permgen_size_available_...
https://bugs.eclipse.org/bugs/show_bug.cgi?id=195897
- the Eclipse launcher (largely written in C) can tell if it's running
on a Sun VM on Windows -- it looks like it reads .dll headers -- but
not on Linux
I spoke briefly with Andrew Niefer and a few other people on IRC and
here are a few options for fixing the launcher to work with the -XX
options in both the Sun VM and non-Sun VM cases:
1. try starting the VM using the invocation api (using libjvm.so) with
the PermSize argument and see if it fails - if it does, launch
without the option. This may add some startup delay to VMs that
don't support this option. This was suggested in the
eclipse.org
bug I link to above.
2. look for a jre/LICENSE text file and seeing if it starts with "Sun
Microsystems". Andrew Niefer suggested this option.
Can anyone think of anything better? Note that I don't want to add a
shell wrapper around the binary Eclipse launcher unless we absolutely
have to.
The Eclipse launcher code can be seen in CVS here:
:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
Module: org.eclipse.equinox.executable
Branch: R3_3_maintenance (or HEAD if you like)
Specifically, library/win32/eclipseWin.c in the isSunVM() function.
library/eclipseNix.c has an isSunVM() that just returns 0.
Andrew