From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21505 invoked by alias); 3 May 2005 13:34:54 -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 21454 invoked by uid 48); 3 May 2005 13:34:46 -0000 Date: Tue, 03 May 2005 13:34:00 -0000 Message-ID: <20050503133446.21453.qmail@sourceware.org> From: "aph at gcc dot gnu dot org" To: java-prs@gcc.gnu.org In-Reply-To: <20031105143639.12911.green@redhat.com> References: <20031105143639.12911.green@redhat.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug java/12911] Class initialization optimization pessimization X-Bugzilla-Reason: CC X-SW-Source: 2005-q2/txt/msg00319.txt.bz2 List-Id: ------- Additional Comments From aph at gcc dot gnu dot org 2005-05-03 13:34 ------- I'm tempted to change this to WONTFIX. The patch for PR java/19285 party fixes this for indirect dispatch: in A.foo2(), the field B.bar is initialized by a call to _Jv_ResolvePoolEntry, and this is only called once, the first time A.foo2() is invoked. Granted, this only applies to the indirect dispatch (a.k.a. the "new ABI") case. However, optimizing known incorrect behaviour doesn't seem like a good use of anyone's time. Because of the binary compatibility rules we can't assume that B.bar will always be a field of B; it might be a field of one of B's interfaces. Initializing B won't initialize its interfaces, so this code will fail. -- What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |SUSPENDED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12911