gcj executable size reduction?

David Daney ddaney@avtrex.com
Thu Apr 15 16:19:00 GMT 2004


Per Bothner wrote:

>
> Another (complementary) approach is reducing the interdependencies 
> between classes, so a static linker would not link in quite as much 
> junk.    This might be to be a confiuration option, or we could 
> support various "profiles" like J2ME.  Any experience in untangling 
> dependencies?
>
> Comments?  Where should I start?

One thing I have been thinking about (but not acting on), is the 
interdependency problem.

For some environments, security is not important, but I think there is 
quite a large overhead with security related classes.  Off the top of my 
head I would do something like this:

Create a new java.lang.SecurityManager implementation where all checks 
just return.  This should prevent all the *Permission classes and 
related cruft from being linked in.

I think you could break libgcj into several parts.  For the security 
related parts there would be two versions (the full implementation and 
the null implementation) that would be selected at either compile time 
or perhaps compiler build time.

David Daney.



More information about the Java mailing list