From: Hans Boehm Date: Sat, 15 Mar 2003 01:04:08 +0000 (+0000) Subject: * java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &. X-Git-Tag: releases/gcc-3.4.0~7913 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=adf936a606445e0e6c0d1de74338a5e237d9217e;p=thirdparty%2Fgcc.git * java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &. From-SVN: r64386 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index b1d3b4993987..afa56a7b2113 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2003-03-14 Hans Boehm + + * java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &. + 2003-02-14 Jeroen Frijters * java/io/ObjectInputStream.java (readObject): Cleaned up the class diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc index e9c74fdb285b..24faf29e51e1 100644 --- a/libjava/java/lang/natObject.cc +++ b/libjava/java/lang/natObject.cc @@ -351,7 +351,7 @@ struct heavy_lock { obj_addr_t address; // Object to which this lock corresponds. // Should not be traced by GC. // Cleared as heavy_lock is destroyed. - // Together with the rest of the hevy lock + // Together with the rest of the heavy lock // chain, this is protected by the lock // bit in the hash table entry to which // the chain is attached. @@ -457,12 +457,12 @@ struct hash_entry { }; #ifndef JV_SYNC_TABLE_SZ -# define JV_SYNC_TABLE_SZ 2048 +# define JV_SYNC_TABLE_SZ 2048 // Must be power of 2. #endif hash_entry light_locks[JV_SYNC_TABLE_SZ]; -#define JV_SYNC_HASH(p) (((long)p ^ ((long)p >> 10)) % JV_SYNC_TABLE_SZ) +#define JV_SYNC_HASH(p) (((long)p ^ ((long)p >> 10)) & (JV_SYNC_TABLE_SZ-1)) // Note that the light_locks table is scanned conservatively by the // collector. It is essential the the heavy_locks field is scanned.