[jbosscache-commits] JBoss Cache SVN: r6837 - in core/trunk/src/main/java/org/jboss/cache: util/concurrent/locks and 1 other directory.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Fri Oct 3 12:38:10 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-10-03 12:38:10 -0400 (Fri, 03 Oct 2008)
New Revision: 6837

Modified:
   core/trunk/src/main/java/org/jboss/cache/lock/StripedLock.java
   core/trunk/src/main/java/org/jboss/cache/util/concurrent/locks/LockContainer.java
Log:
Better bit spreader

Modified: core/trunk/src/main/java/org/jboss/cache/lock/StripedLock.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/lock/StripedLock.java	2008-10-03 15:47:22 UTC (rev 6836)
+++ core/trunk/src/main/java/org/jboss/cache/lock/StripedLock.java	2008-10-03 16:38:10 UTC (rev 6837)
@@ -138,12 +138,9 @@
     */
    final int hash(Object x)
    {
-      int h = x.toString().hashCode();
-      h += ~(h << 9);
-      h ^= (h >>> 14);
-      h += (h << 4);
-      h ^= (h >>> 10);
-      return h;
+      int h = x.hashCode();
+      h ^= (h >>> 20) ^ (h >>> 12);
+      return h ^ (h >>> 7) ^ (h >>> 4);
    }
 
    /**

Modified: core/trunk/src/main/java/org/jboss/cache/util/concurrent/locks/LockContainer.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/util/concurrent/locks/LockContainer.java	2008-10-03 15:47:22 UTC (rev 6836)
+++ core/trunk/src/main/java/org/jboss/cache/util/concurrent/locks/LockContainer.java	2008-10-03 16:38:10 UTC (rev 6837)
@@ -68,11 +68,8 @@
    final int hash(E object)
    {
       int h = object.hashCode();
-      h += ~(h << 9);
-      h ^= (h >>> 14);
-      h += (h << 4);
-      h ^= (h >>> 10);
-      return h;
+      h ^= (h >>> 20) ^ (h >>> 12);
+      return h ^ (h >>> 7) ^ (h >>> 4);
    }
 
    protected abstract void initLocks(int numLocks);




More information about the jbosscache-commits mailing list