7 #ifdef JEMALLOC_H_TYPES
11 #ifdef JEMALLOC_H_STRUCTS
15 #ifdef JEMALLOC_H_EXTERNS
19 #ifdef JEMALLOC_H_INLINES
21 #ifndef JEMALLOC_ENABLE_INLINE
31 #if (defined(JEMALLOC_ENABLE_INLINE) || defined(JEMALLOC_HASH_C_))
38 return ((
x <<
r) | (
x >> (32 -
r)));
45 return ((
x <<
r) | (
x >> (64 -
r)));
96 k *=
KQU(0xff51afd7ed558ccd);
98 k *=
KQU(0xc4ceb9fe1a85ec53);
108 const int nblocks =
len / 4;
120 for (
i = -nblocks;
i;
i++) {
129 h1 =
h1*5 + 0xe6546b64;
140 case 3: k1 ^= tail[2] << 16;
141 case 2: k1 ^= tail[1] << 8;
160 const int nblocks =
len / 16;
177 for (
i = -nblocks;
i;
i++) {
186 h1 =
h1*5 + 0x561ccd1b;
191 h2 =
h2*5 + 0x0bcaa747;
196 h3 = h3*5 + 0x96cd1c35;
201 h4 = h4*5 + 0x32ac3b17;
214 case 15: k4 ^= tail[14] << 16;
215 case 14: k4 ^= tail[13] << 8;
216 case 13: k4 ^= tail[12] << 0;
219 case 12: k3 ^= tail[11] << 24;
220 case 11: k3 ^= tail[10] << 16;
221 case 10: k3 ^= tail[ 9] << 8;
222 case 9: k3 ^= tail[ 8] << 0;
225 case 8: k2 ^= tail[ 7] << 24;
226 case 7: k2 ^= tail[ 6] << 16;
227 case 6: k2 ^= tail[ 5] << 8;
228 case 5: k2 ^= tail[ 4] << 0;
231 case 4: k1 ^= tail[ 3] << 24;
232 case 3: k1 ^= tail[ 2] << 16;
233 case 2: k1 ^= tail[ 1] << 8;
234 case 1: k1 ^= tail[ 0] << 0;
254 rz_out[1] = (((
uint64_t) h4) << 32) | h3;
262 const int nblocks =
len / 16;
275 for (
i = 0;
i < nblocks;
i++) {
282 h1 =
h1*5 + 0x52dce729;
287 h2 =
h2*5 + 0x38495ab5;
298 case 15: k2 ^= ((
uint64_t)(tail[14])) << 48;
299 case 14: k2 ^= ((
uint64_t)(tail[13])) << 40;
300 case 13: k2 ^= ((
uint64_t)(tail[12])) << 32;
301 case 12: k2 ^= ((
uint64_t)(tail[11])) << 24;
302 case 11: k2 ^= ((
uint64_t)(tail[10])) << 16;
303 case 10: k2 ^= ((
uint64_t)(tail[ 9])) << 8;
304 case 9: k2 ^= ((
uint64_t)(tail[ 8])) << 0;
307 case 8: k1 ^= ((
uint64_t)(tail[ 7])) << 56;
308 case 7: k1 ^= ((
uint64_t)(tail[ 6])) << 48;
309 case 6: k1 ^= ((
uint64_t)(tail[ 5])) << 40;
310 case 5: k1 ^= ((
uint64_t)(tail[ 4])) << 32;
311 case 4: k1 ^= ((
uint64_t)(tail[ 3])) << 24;
312 case 3: k1 ^= ((
uint64_t)(tail[ 2])) << 16;
313 case 2: k1 ^= ((
uint64_t)(tail[ 1])) << 8;
314 case 1: k1 ^= ((
uint64_t)(tail[ 0])) << 0;
338 hash(
const void *
key,
size_t len,
const uint32_t seed,
size_t rz_hash[2])
343 #if (LG_SIZEOF_PTR == 3 && !defined(JEMALLOC_BIG_ENDIAN))
349 rz_hash[0] = (
size_t)hashes[0];
350 rz_hash[1] = (
size_t)hashes[1];
lsl lsr asr ror lsl lsr asr ror lsl lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror c1
lsl lsr asr ror lsl lsr asr ror lsl lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror c3
lsl lsr asr ror lsl lsr asr ror lsl lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror c2
lsl lsr asr ror lsl lsr asr ror lsl lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror c4
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len key
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
assert(limit<=UINT32_MAX/2)
v0.v4.v8.v15.v3.v30.v14.v1. h2
#define hash_get_block_64
#define hash_get_block_32
_W64 unsigned int uintptr_t