re PR libgcj/22189 (Table Full in gcj-dbtool if -m option used with smallest possible input)

2005-06-28  Robin Green  <greenrd@greenrd.org>

	PR java/22189
	* gnu/gcj/runtime/PersistentByteMap.java (init): Fix rounding
	error.

From-SVN: r101382
This commit is contained in:
Robin Green 2005-06-28 14:31:22 +00:00 committed by Andrew Haley
parent 7bcebb25b9
commit 832a0afe9c
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2005-06-28 Robin Green <greenrd@greenrd.org>
PR java/22189
* gnu/gcj/runtime/PersistentByteMap.java (init): Fix rounding
error.
2005-06-27 Tom Tromey <tromey@redhat.com>
PR java/21540, PR java/13788:

View File

@ -175,10 +175,10 @@ public class PersistentByteMap
// We're going to make that size prime. This isn't
// strictly necessary but it can't hurt.
//
// We expand the size by 3/2 because the hash table is
// intolerably slow when more than 2/3 full.
// We expand the size by 3/2 and round the result because the
// hash table is intolerably slow when more than 2/3 full.
BigInteger size = new BigInteger(Integer.toString(capacity * 3/2));
BigInteger size = new BigInteger(Integer.toString(((capacity*3)+1)/2));
BigInteger two = BigInteger.ONE.add(BigInteger.ONE);
if (size.getLowestSetBit() != 0) // A hard way to say isEven()