This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: thoughts on new reflection data
- From: Tom Tromey <tromey at redhat dot com>
- To: David Daney <ddaney at avtrex dot com>
- Cc: GCJ Hackers <java at gcc dot gnu dot org>
- Date: 30 Jun 2006 09:27:52 -0600
- Subject: Re: thoughts on new reflection data
- References: <m3y7vfhnhz.fsf@localhost.localdomain> <44A41952.4020506@avtrex.com>
- Reply-to: tromey at redhat dot com
>>>>> "David" == David Daney <ddaney@avtrex.com> writes:
David> Would it be possible or useful to move the name and signature members
David> of _Jv_Field and _Jv_Method into these attributes?
I don't think another indirection when looking for a field or method
name would hurt too much. As I recall, and to our surprise, class
linking doesn't really show up in profiles. This would save a little
space due to better packing of the _Jv_Method structure.
David> Can the signature_index be the an offset from the beginning of all the
David> utf8*. I think the linker combines identical utf8 constants and
David> groups them all together. It would probably have to be type u4
David> instead of u2.
I don't know how we'd do that... the offset would have to be fixed up
by the linker.
Currently the 'u2' value is an index into the class' constant pool.
The constant pool in turn points to the utf8 structure.
BTW there's still a PR about only even-lengthed utf8 constants being
shared. We never investigated that... PR 22299.
David> Since most reflection data is never used (with the exception of that
David> needed for interface dispatch table construction), compressing it
David> might be a win.
Yeah. This is a project for another day though.
I'd also like to change the *table_syms structures to point into the
constant pool instead of having their own pointers. But, this leads
into the whole "pointer free class format" thing.
Tom