From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30289 invoked by alias); 26 Jun 2005 12:39:17 -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 30274 invoked by uid 48); 26 Jun 2005 12:39:17 -0000 Date: Sun, 26 Jun 2005 12:39:00 -0000 Message-ID: <20050626123917.30270.qmail@sourceware.org> From: "greenrd at greenrd dot org" To: java-prs@gcc.gnu.org In-Reply-To: <20050626024115.22189.greenrd@greenrd.org> References: <20050626024115.22189.greenrd@greenrd.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug libgcj/22189] Table Full in gcj-dbtool if -m option used with smallest possible input X-Bugzilla-Reason: CC X-SW-Source: 2005-q2/txt/msg00854.txt.bz2 List-Id: ------- Additional Comments From greenrd at greenrd dot org 2005-06-26 12:39 ------- The problem is that a PersistentByteMap of capacity 1 is created by -m, but when a PersistentByteMap is created with capacity 1, its capacity method incorrectly returns 0. This is because, when it is created, confusingly, the capacity field is set to (int) (capacity*3/2),which in this case is 1, and the capacity() method then returns (int) (the capacity field * 2 / 3), which is (int) (2 * 1 / 3) = 0. The first thing I would do is, we have 3 things (initial capacity, capacity field, capacity method), all with the same name, but not meaning the same thing, so I would do some renames to avoid confusion. Then I would fix the actual bug. Preparing a patch. -- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |greenrd at greenrd dot org |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22189