< prev index next >
src/share/vm/utilities/globalDefinitions.hpp
Print this page
@@ -1147,12 +1147,11 @@
// (if p = 0 then overflow occurred and i = 31)
return i;
}
//* largest i such that 2^i <= x
-// A negative value of 'x' will return '63'
-inline int log2_long(unsigned long x) {
+inline int log2_long(julong x) {
int i = -1;
julong p = 1;
while (p != 0 && p <= x) {
// p = 2^(i+1) && p <= x (i.e., 2^(i+1) <= x)
i++; p *= 2;
@@ -1164,20 +1163,25 @@
inline int log2_intptr(intptr_t x) {
return log2_intptr((uintptr_t)x);
}
-inline int log2_intptr(int x) {
+inline int log2_int(int x) {
return log2_intptr((uintptr_t)x);
}
-inline int log2_intptr(uint x) {
+inline int log2_jint(jint x) {
return log2_intptr((uintptr_t)x);
}
-inline int log2_long(jlong x) {
- return log2_long((unsigned long)x);
+inline int log2_uint(uint x) {
+ return log2_intptr((uintptr_t)x);
+}
+
+// A negative value of 'x' will return '63'
+inline int log2_jlong(jlong x) {
+ return log2_long((julong)x);
}
//* the argument must be exactly a power of 2
inline int exact_log2(intptr_t x) {
#ifdef ASSERT
< prev index next >