From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4008 invoked by alias); 20 Oct 2004 18:25:19 -0000 Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org Received: (qmail 3992 invoked by uid 48); 20 Oct 2004 18:25:19 -0000 Date: Wed, 20 Oct 2004 18:25:00 -0000 From: "tromey at gcc dot gnu dot org" To: java-prs@gcc.gnu.org Message-ID: <20041020182517.18086.tromey@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug libgcj/18086] New: automate marking of Class object X-Bugzilla-Reason: CC X-SW-Source: 2004-q4/txt/msg00154.txt.bz2 List-Id: 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