shriveling libgcj

Per Bothner per@bothner.com
Sun Nov 11 00:00:00 GMT 2001


Jeff Sturm wrote:

>Shrinking class metadata would help reduce both the initialized data and
>relocation sections, which appear to be a larger portion of the
>executable.  Also this would work fine together with -fvtable-gc.
>
I have an idea to consider:  Replace the initial meta-data by a compact 
and pointer-free
encoding.  Then the first time we need to access relection for this class we
decode this representation into the java.lang.reflect 
representationation.  I.e.
instead of an array of _Jv_Method encode the information in a string 
containing
no pointers stored in the text segment (or constant data segment).  Thus the
encoding needs no relocation, which speeds spart-up on systems using 
shared libraries
as well as being compact.

Then instead of jmethodID being an alias for _Jv_Method* it would become an
alias for java::lang::reflect::Method*.
    --Per




More information about the Java mailing list