diff options
Diffstat (limited to 'libjava')
| -rw-r--r-- | libjava/ChangeLog | 4 | ||||
| -rw-r--r-- | 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 <Hans.Boehm@hp.com> + + * java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &. + 2003-02-14 Jeroen Frijters <jeroen@sumatra.nl> * 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. |

