changeset 49426 | 7f3986bad197 |
parent 49251 | 3c0a12972165 |
child 49895 | 661ef62a6618 |
--- a/src/java.base/share/classes/java/lang/Long.java Mon Mar 26 16:24:16 2018 -0700 +++ b/src/java.base/share/classes/java/lang/Long.java Mon Mar 26 17:30:14 2018 -0700 @@ -1719,14 +1719,7 @@ * @since 1.5 */ public static long highestOneBit(long i) { - // HD, Figure 3-1 - i |= (i >> 1); - i |= (i >> 2); - i |= (i >> 4); - i |= (i >> 8); - i |= (i >> 16); - i |= (i >> 32); - return i - (i >>> 1); + return i & (MIN_VALUE >>> numberOfLeadingZeros(i)); } /**