< prev index next >

src/hotspot/share/utilities/powerOfTwo.hpp

Print this page
rev 58322 : 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent
Reviewed-by: duke

@@ -34,11 +34,11 @@
 
 // Power of two convenience library.
 
 template <typename T>
 bool is_power_of_2(T x) {
-  return (x != T(0)) && ((x & (x - 1)) == T(0));
+  return (x > T(0)) && ((x & (x - 1)) == T(0));
 }
 
 // Log2 of a power of 2
 inline int exact_log2(intptr_t x) {
   assert(is_power_of_2(x), "x must be a power of 2: " INTPTR_FORMAT, x);
< prev index next >