aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natObject.cc
diff options
context:
space:
mode:
authorHans Boehm <Hans_Boehm@hp.com>2003-03-15 01:04:08 +0000
committerHans Boehm <hboehm@gcc.gnu.org>2003-03-15 01:04:08 +0000
commitadf936a606445e0e6c0d1de74338a5e237d9217e (patch)
tree8a261cf216a113001d3cf5b6a34e913b55d44e86 /libjava/java/lang/natObject.cc
parentaf2e51f395c787456d1aa70ae60dde6e6f2fb068 (diff)
downloadgcc-adf936a606445e0e6c0d1de74338a5e237d9217e.zip
gcc-adf936a606445e0e6c0d1de74338a5e237d9217e.tar.gz
gcc-adf936a606445e0e6c0d1de74338a5e237d9217e.tar.bz2
* java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &.
From-SVN: r64386
Diffstat (limited to 'libjava/java/lang/natObject.cc')
-rw-r--r--libjava/java/lang/natObject.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc
index e9c74fd..24faf29 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.