This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libgcj/18086] New: automate marking of Class object
- From: "tromey at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Oct 2004 18:25:19 -0000
- Subject: [Bug libgcj/18086] New: automate marking of Class object
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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