Change lg_floor() return type from size_t to unsigned.
This commit is contained in:
parent
0931cecbfa
commit
1c42a04cc6
@ -555,27 +555,27 @@ size2index_compute(size_t size)
|
|||||||
|
|
||||||
#if (NTBINS != 0)
|
#if (NTBINS != 0)
|
||||||
if (size <= (ZU(1) << LG_TINY_MAXCLASS)) {
|
if (size <= (ZU(1) << LG_TINY_MAXCLASS)) {
|
||||||
size_t lg_tmin = LG_TINY_MAXCLASS - NTBINS + 1;
|
szind_t lg_tmin = LG_TINY_MAXCLASS - NTBINS + 1;
|
||||||
size_t lg_ceil = lg_floor(pow2_ceil_zu(size));
|
szind_t lg_ceil = lg_floor(pow2_ceil_zu(size));
|
||||||
return (lg_ceil < lg_tmin ? 0 : lg_ceil - lg_tmin);
|
return (lg_ceil < lg_tmin ? 0 : lg_ceil - lg_tmin);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
size_t x = unlikely(ZI(size) < 0) ? ((size<<1) ?
|
szind_t x = unlikely(ZI(size) < 0) ? ((size<<1) ?
|
||||||
(ZU(1)<<(LG_SIZEOF_PTR+3)) : ((ZU(1)<<(LG_SIZEOF_PTR+3))-1))
|
(ZU(1)<<(LG_SIZEOF_PTR+3)) : ((ZU(1)<<(LG_SIZEOF_PTR+3))-1))
|
||||||
: lg_floor((size<<1)-1);
|
: lg_floor((size<<1)-1);
|
||||||
size_t shift = (x < LG_SIZE_CLASS_GROUP + LG_QUANTUM) ? 0 :
|
szind_t shift = (x < LG_SIZE_CLASS_GROUP + LG_QUANTUM) ? 0 :
|
||||||
x - (LG_SIZE_CLASS_GROUP + LG_QUANTUM);
|
x - (LG_SIZE_CLASS_GROUP + LG_QUANTUM);
|
||||||
size_t grp = shift << LG_SIZE_CLASS_GROUP;
|
szind_t grp = shift << LG_SIZE_CLASS_GROUP;
|
||||||
|
|
||||||
size_t lg_delta = (x < LG_SIZE_CLASS_GROUP + LG_QUANTUM + 1)
|
szind_t lg_delta = (x < LG_SIZE_CLASS_GROUP + LG_QUANTUM + 1)
|
||||||
? LG_QUANTUM : x - LG_SIZE_CLASS_GROUP - 1;
|
? LG_QUANTUM : x - LG_SIZE_CLASS_GROUP - 1;
|
||||||
|
|
||||||
size_t delta_inverse_mask = ZI(-1) << lg_delta;
|
size_t delta_inverse_mask = ZI(-1) << lg_delta;
|
||||||
size_t mod = ((((size-1) & delta_inverse_mask) >> lg_delta)) &
|
szind_t mod = ((((size-1) & delta_inverse_mask) >> lg_delta)) &
|
||||||
((ZU(1) << LG_SIZE_CLASS_GROUP) - 1);
|
((ZU(1) << LG_SIZE_CLASS_GROUP) - 1);
|
||||||
|
|
||||||
size_t index = NTBINS + grp + mod;
|
szind_t index = NTBINS + grp + mod;
|
||||||
return (index);
|
return (index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -586,8 +586,7 @@ size2index_lookup(size_t size)
|
|||||||
|
|
||||||
assert(size <= LOOKUP_MAXCLASS);
|
assert(size <= LOOKUP_MAXCLASS);
|
||||||
{
|
{
|
||||||
size_t ret = ((size_t)(size2index_tab[(size-1) >>
|
szind_t ret = (size2index_tab[(size-1) >> LG_TINY_MIN]);
|
||||||
LG_TINY_MIN]));
|
|
||||||
assert(ret == size2index_compute(size));
|
assert(ret == size2index_compute(size));
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ unsigned ffs_u32(uint32_t bitmap);
|
|||||||
uint64_t pow2_ceil_u64(uint64_t x);
|
uint64_t pow2_ceil_u64(uint64_t x);
|
||||||
uint32_t pow2_ceil_u32(uint32_t x);
|
uint32_t pow2_ceil_u32(uint32_t x);
|
||||||
size_t pow2_ceil_zu(size_t x);
|
size_t pow2_ceil_zu(size_t x);
|
||||||
size_t lg_floor(size_t x);
|
unsigned lg_floor(size_t x);
|
||||||
void set_errno(int errnum);
|
void set_errno(int errnum);
|
||||||
int get_errno(void);
|
int get_errno(void);
|
||||||
#endif
|
#endif
|
||||||
@ -244,7 +244,7 @@ pow2_ceil_zu(size_t x)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if (defined(__i386__) || defined(__amd64__) || defined(__x86_64__))
|
#if (defined(__i386__) || defined(__amd64__) || defined(__x86_64__))
|
||||||
JEMALLOC_INLINE size_t
|
JEMALLOC_INLINE unsigned
|
||||||
lg_floor(size_t x)
|
lg_floor(size_t x)
|
||||||
{
|
{
|
||||||
size_t ret;
|
size_t ret;
|
||||||
@ -255,10 +255,11 @@ lg_floor(size_t x)
|
|||||||
: "=r"(ret) // Outputs.
|
: "=r"(ret) // Outputs.
|
||||||
: "r"(x) // Inputs.
|
: "r"(x) // Inputs.
|
||||||
);
|
);
|
||||||
return (ret);
|
assert(ret < UINT_MAX);
|
||||||
|
return ((unsigned)ret);
|
||||||
}
|
}
|
||||||
#elif (defined(_MSC_VER))
|
#elif (defined(_MSC_VER))
|
||||||
JEMALLOC_INLINE size_t
|
JEMALLOC_INLINE unsigned
|
||||||
lg_floor(size_t x)
|
lg_floor(size_t x)
|
||||||
{
|
{
|
||||||
unsigned long ret;
|
unsigned long ret;
|
||||||
@ -272,10 +273,11 @@ lg_floor(size_t x)
|
|||||||
#else
|
#else
|
||||||
# error "Unsupported type size for lg_floor()"
|
# error "Unsupported type size for lg_floor()"
|
||||||
#endif
|
#endif
|
||||||
return (ret);
|
assert(ret < UINT_MAX);
|
||||||
|
return ((unsigned)ret);
|
||||||
}
|
}
|
||||||
#elif (defined(JEMALLOC_HAVE_BUILTIN_CLZ))
|
#elif (defined(JEMALLOC_HAVE_BUILTIN_CLZ))
|
||||||
JEMALLOC_INLINE size_t
|
JEMALLOC_INLINE unsigned
|
||||||
lg_floor(size_t x)
|
lg_floor(size_t x)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -290,7 +292,7 @@ lg_floor(size_t x)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
JEMALLOC_INLINE size_t
|
JEMALLOC_INLINE unsigned
|
||||||
lg_floor(size_t x)
|
lg_floor(size_t x)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user