7192942: (coll) Inefficient calculation of power of two in HashMap
Reviewed-by: mduigou
This commit is contained in:
parent
8a710dcc7e
commit
e1b3c5b5ba
@ -876,13 +876,9 @@ public class HashMap<K,V>
|
||||
|
||||
private static int roundUpToPowerOf2(int number) {
|
||||
// assert number >= 0 : "number must be non-negative";
|
||||
int rounded = number >= MAXIMUM_CAPACITY
|
||||
return number >= MAXIMUM_CAPACITY
|
||||
? MAXIMUM_CAPACITY
|
||||
: (rounded = Integer.highestOneBit(number)) != 0
|
||||
? (Integer.bitCount(number) > 1) ? rounded << 1 : rounded
|
||||
: 1;
|
||||
|
||||
return rounded;
|
||||
: (number > 1) ? Integer.highestOneBit((number - 1) << 1) : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user