src/java.base/share/classes/java/util/HashMap.java
changeset 50201 a2c92332c6ba
parent 49433 b6671a111395
child 50961 0d28f82ecac6
equal deleted inserted replaced
50200:9ce050c4711b 50201:a2c92332c6ba
   374 
   374 
   375     /**
   375     /**
   376      * Returns a power of two size for the given target capacity.
   376      * Returns a power of two size for the given target capacity.
   377      */
   377      */
   378     static final int tableSizeFor(int cap) {
   378     static final int tableSizeFor(int cap) {
   379         int n = cap - 1;
   379         int n = -1 >>> Integer.numberOfLeadingZeros(cap - 1);
   380         n |= n >>> 1;
       
   381         n |= n >>> 2;
       
   382         n |= n >>> 4;
       
   383         n |= n >>> 8;
       
   384         n |= n >>> 16;
       
   385         return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;
   380         return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;
   386     }
   381     }
   387 
   382 
   388     /* ---------------- Fields -------------- */
   383     /* ---------------- Fields -------------- */
   389 
   384