src/java.base/share/classes/java/util/HashMap.java
changeset 50201 a2c92332c6ba
parent 49433 b6671a111395
child 50961 0d28f82ecac6
--- a/src/java.base/share/classes/java/util/HashMap.java	Mon May 21 12:27:21 2018 -0700
+++ b/src/java.base/share/classes/java/util/HashMap.java	Mon May 21 12:49:03 2018 -0700
@@ -376,12 +376,7 @@
      * Returns a power of two size for the given target capacity.
      */
     static final int tableSizeFor(int cap) {
-        int n = cap - 1;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
+        int n = -1 >>> Integer.numberOfLeadingZeros(cap - 1);
         return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;
     }