[Bug libgcj/17979] New: Binary Compatibility: could resolve String references while defining class

tromey at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Oct 13 19:52:00 GMT 2004


In defineclass.cc, we do a pass over the constant pool
and turn JV_CONSTANT_String references into _Jv_Utf8Const
objects.  Later, during linking, these are turned into
real String instances.  We could just as easily create
real Strings when defining the class and reduce the amount
of work to be done during linking.

On the one hand this involves more space overhead for classes
which are not used (most string constants are ASCII, which
is represented more compactly in a Utf8Const).  On the other
hand, the utf8const is garbage after linking, some String constants
are common (these are always interned, so these would be shared),
and usually string constants are short anyway (so the savings
is probably not significant).

-- 
           Summary: Binary Compatibility: could resolve String references
                    while defining class
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: libgcj
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tromey at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
                    dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17979



More information about the Java-prs mailing list