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]
Other format: [Raw text]

Re: thoughts on new reflection data


>>>>> "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


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