From adf936a606445e0e6c0d1de74338a5e237d9217e Mon Sep 17 00:00:00 2001 From: Hans Boehm Date: Sat, 15 Mar 2003 01:04:08 +0000 Subject: [PATCH] * java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &. From-SVN: r64386 --- libjava/ChangeLog | 4 ++++ libjava/java/lang/natObject.cc | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index b1d3b499398..afa56a7b211 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 e9c74fdb285..24faf29e51e 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.