[Bug libgcj/18086] New: automate marking of Class object

tromey at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Oct 20 18:25:00 GMT 2004


Currently we have hand-written code to mark Class instances.
This is slow and is also bug-prone; we find problems in this
code with annoying frequency.  It may also be related to PR 16902.

It doesn't look hard to automate marking of Class.  Here is a plan:

* Rearrange fields of Class so that all marked fields are early,
  with non-marked fields later.

* Change gcj to emit a GC descriptor for Class.  Have the compiler
  abort() if a change is made to Class that causes us not to be able
  to make a GC descriptor.

* For all objects referenced by Class that are dynamically allocated,
  introduce a new descriptor kind at runtime.  Change how these objects
  are allocated, so that they will be marked by the GC and not by
  special code as a side effect of marking the class.  This should help
  the problem that Anthony noticed (see email message linked from PR 16902)

-- 
           Summary: automate marking of Class object
           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=18086



More information about the Java-prs mailing list