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]

Re: shriveling libgcj


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



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