| line |
true |
false |
branch |
|
83
|
89 |
0 |
return (sum > UINT32_MAX) ? UINT32_MAX : (uint32_t)sum; |
|
106
|
0 |
445 |
if (align_end > cap) align_end = cap; |
|
107
|
907 |
93 |
for (; i < align_end; i++) { |
|
108
|
352 |
555 |
if (states[i] >= SHM_TAG_MIN) { *pos = i; return 1; } |
|
111
|
75 |
18 |
for (; i + 16 <= cap; i += 16) { |
|
116
|
75 |
0 |
if (mask) { *pos = i + __builtin_ctz(mask); return 1; } |
|
120
|
0 |
18 |
for (; i < cap; i++) { |
|
121
|
0 |
0 |
if (states[i] >= SHM_TAG_MIN) { *pos = i; return 1; } |
|
180
|
8 |
12028 |
if (utf8) lf |= SHM_UTF8_FLAG; |
|
184
|
4358 |
7678 |
if (slen > 4) { |
|
202
|
10789 |
8123 |
if (slen > 4) { |
|
214
|
10382 |
7 |
if (SHM_IS_INLINE(len_field)) { |
|
334
|
1 |
27 |
if (needed == 0) needed = 1; |
|
335
|
24 |
4 |
if (needed <= *cap) return 1; |
|
336
|
0 |
4 |
uint32_t ns = *cap ? *cap : 64; |
|
337
|
0 |
4 |
while (ns < needed) { |
|
339
|
0 |
0 |
if (next <= ns) { ns = needed; break; } /* overflow guard */ |
|
343
|
0 |
4 |
if (!nb) return 0; |
|
395
|
0 |
0 |
if (pid == 0) return 1; /* no owner recorded, assume alive */ |
|
396
|
0 |
0 |
return !(kill((pid_t)pid, 0) == -1 && errno == ESRCH); |
|
|
0 |
0 |
return !(kill((pid_t)pid, 0) == -1 && errno == ESRCH); |
|
409
|
0 |
0 |
if (!__atomic_compare_exchange_n(&hdr->rwlock, &observed_rwlock, |
|
417
|
0 |
0 |
if (seq & 1) |
|
423
|
0 |
0 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
447
|
46629 |
159 |
if (__builtin_expect(cur_gen == h->cached_fork_gen && h->my_slot_idx != UINT32_MAX, 1)) |
|
|
46629 |
0 |
if (__builtin_expect(cur_gen == h->cached_fork_gen && h->my_slot_idx != UINT32_MAX, 1)) |
|
458
|
159 |
0 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
461
|
159 |
0 |
if (__atomic_compare_exchange_n(&h->reader_slots[s].pid, |
|
481
|
0 |
0 |
if (!sub) return; |
|
484
|
0 |
0 |
uint32_t want = (cur > sub) ? cur - sub : 0; |
|
485
|
0 |
0 |
if (__atomic_compare_exchange_n(p, &cur, want, |
|
509
|
0 |
0 |
if (!__atomic_compare_exchange_n(&h->reader_slots[i].pid, &expected, 0, |
|
515
|
0 |
0 |
if (wp) { shm_atomic_sub_cap(&hdr->rwlock_waiters, wp); drained = 1; } |
|
516
|
0 |
0 |
if (writp) { shm_atomic_sub_cap(&hdr->rwlock_writers_waiting, writp); drained = 1; } |
|
531
|
0 |
0 |
if (!h->reader_slots) return; |
|
545
|
0 |
0 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
547
|
0 |
0 |
if (pid == 0) continue; |
|
549
|
0 |
0 |
if (shm_pid_alive(pid)) { |
|
550
|
0 |
0 |
if (sc > 0) any_live_reader = 1; |
|
553
|
0 |
0 |
if (sc > 0) { found_dead_reader = 1; continue; } |
|
554
|
0 |
0 |
if (shm_drain_dead_slot(h, i, pid)) any_recovery = 1; |
|
570
|
0 |
0 |
if (found_dead_reader && !any_live_reader) { |
|
|
0 |
0 |
if (found_dead_reader && !any_live_reader) { |
|
572
|
0 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
|
0 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
573
|
0 |
0 |
if (__atomic_compare_exchange_n(&hdr->rwlock, &cur, 0, |
|
576
|
0 |
0 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
580
|
0 |
0 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
582
|
0 |
0 |
if (pid == 0 || shm_pid_alive(pid)) continue; |
|
|
0 |
0 |
if (pid == 0 || shm_pid_alive(pid)) continue; |
|
583
|
0 |
0 |
if (shm_drain_dead_slot(h, i, pid)) any_recovery = 1; |
|
586
|
0 |
0 |
if (any_recovery) |
|
599
|
0 |
0 |
if (val >= SHM_RWLOCK_WRITER_BIT) { |
|
601
|
0 |
0 |
if (!shm_pid_alive(pid)) |
|
613
|
0 |
0 |
if (h->my_slot_idx != UINT32_MAX) |
|
619
|
0 |
0 |
if (h->my_slot_idx != UINT32_MAX) |
|
623
|
0 |
0 |
if (h->my_slot_idx != UINT32_MAX) { |
|
633
|
0 |
0 |
if (h->my_slot_idx != UINT32_MAX) { |
|
651
|
573 |
0 |
if (h->my_slot_idx != UINT32_MAX) |
|
658
|
0 |
573 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
|
0 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
659
|
0 |
0 |
if (__atomic_compare_exchange_n(lock, &cur, cur + 1, |
|
662
|
573 |
0 |
} else if (cur == 0 && !__atomic_load_n(writers_waiting, __ATOMIC_RELAXED)) { |
|
|
573 |
0 |
} else if (cur == 0 && !__atomic_load_n(writers_waiting, __ATOMIC_RELAXED)) { |
|
663
|
573 |
0 |
if (__atomic_compare_exchange_n(lock, &cur, 1, |
|
667
|
0 |
0 |
if (__builtin_expect(spin < SHM_RWLOCK_SPIN_LIMIT, 1)) { |
|
674
|
0 |
0 |
if (cur >= SHM_RWLOCK_WRITER_BIT || cur == 0) { |
|
|
0 |
0 |
if (cur >= SHM_RWLOCK_WRITER_BIT || cur == 0) { |
|
677
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
697
|
573 |
0 |
if (h->my_slot_idx != UINT32_MAX) |
|
699
|
573 |
0 |
if (prev == 0 && __atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
|
0 |
573 |
if (prev == 0 && __atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
712
|
46215 |
0 |
if (__atomic_compare_exchange_n(lock, &expected, mypid, |
|
715
|
0 |
0 |
if (__builtin_expect(spin < SHM_RWLOCK_SPIN_LIMIT, 1)) { |
|
721
|
0 |
0 |
if (cur != 0) { |
|
724
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
739
|
1 |
46214 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
750
|
10423 |
0 |
if (__builtin_expect((s & 1) == 0, 1)) return s; |
|
751
|
0 |
0 |
if (__builtin_expect(spin < 100000, 1)) { |
|
758
|
0 |
0 |
if (val >= SHM_RWLOCK_WRITER_BIT) { |
|
760
|
0 |
0 |
if (!shm_pid_alive(pid)) { |
|
791
|
1616 |
7003 |
if (len < SHM_ARENA_MIN_ALLOC) return SHM_ARENA_MIN_ALLOC; |
|
796
|
1816 |
6803 |
if (alloc_size <= SHM_ARENA_MIN_ALLOC) return 0; |
|
797
|
0 |
6803 |
if (alloc_size > (SHM_ARENA_MIN_ALLOC << (SHM_ARENA_NUM_CLASSES - 1))) return -1; |
|
805
|
4315 |
0 |
if (cls >= 0 && hdr->arena_free[cls] != 0) { |
|
|
0 |
4315 |
if (cls >= 0 && hdr->arena_free[cls] != 0) { |
|
814
|
4315 |
0 |
if (off + asize > hdr->arena_cap || off + asize > (uint64_t)UINT32_MAX) |
|
|
0 |
4315 |
if (off + asize > hdr->arena_cap || off + asize > (uint64_t)UINT32_MAX) |
|
824
|
4304 |
0 |
if (cls < 0 || off == 0) return; |
|
|
0 |
4304 |
if (cls < 0 || off == 0) return; |
|
835
|
12036 |
4315 |
if (slen <= SHM_INLINE_MAX) { |
|
840
|
0 |
4315 |
if (aoff == 0 && slen > 0) return 0; |
|
|
0 |
0 |
if (aoff == 0 && slen > 0) return 0; |
|
843
|
0 |
4315 |
*len_field = SHM_PACK_LEN(slen, utf8); |
|
850
|
4304 |
11788 |
if (!SHM_IS_INLINE(len_field)) |
|
857
|
32 |
0 |
if (SHM_IS_INLINE(len_field)) |
|
866
|
0 |
7181 |
if (v < 2) return 2; |
|
867
|
0 |
7181 |
if (v > 0x80000000U) return 0; /* overflow: no valid power of 2 */ |
|
879
|
173 |
0 |
uint32_t cap = (want > 0x80000000ULL) ? 0x80000000U : shm_next_pow2((uint32_t)want); |
|
887
|
0 |
172 |
if (lru_skip == 0 || lru_skip >= 100) return 0; |
|
|
0 |
0 |
if (lru_skip == 0 || lru_skip >= 100) return 0; |
|
890
|
0 |
0 |
while (p < interval) p <<= 1; |
|
901
|
10 |
0 |
if (p != SHM_LRU_NONE) next[p] = n; |
|
903
|
0 |
10 |
if (n != SHM_LRU_NONE) prev[n] = p; |
|
912
|
490 |
0 |
if (h->lru_accessed) __atomic_store_n(&h->lru_accessed[idx], 0, __ATOMIC_RELAXED); /* clear stale clock bit */ |
|
915
|
468 |
22 |
if (hdr->lru_head != SHM_LRU_NONE) prev[hdr->lru_head] = idx; |
|
922
|
3 |
2 |
if (hdr->lru_head == idx) return; |
|
926
|
0 |
2 |
if (hdr->lru_skip > 0 && idx != hdr->lru_tail) { |
|
|
0 |
0 |
if (hdr->lru_skip > 0 && idx != hdr->lru_tail) { |
|
928
|
0 |
0 |
if ((++promote_ctr & hdr->lru_skip) != 0) |
|
946
|
0 |
0 |
if (!h->lru_prev) return; /* LRU disabled */ |
|
954
|
0 |
0 |
if ((head != SHM_LRU_NONE && head >= cap) || |
|
|
0 |
0 |
if ((head != SHM_LRU_NONE && head >= cap) || |
|
|
0 |
0 |
if ((head != SHM_LRU_NONE && head >= cap) || |
|
955
|
0 |
0 |
(tail != SHM_LRU_NONE && tail >= cap)) { |
|
960
|
0 |
0 |
while (idx != SHM_LRU_NONE) { |
|
961
|
0 |
0 |
if (idx >= cap || !SHM_IS_LIVE(h->states[idx]) || |
|
|
0 |
0 |
if (idx >= cap || !SHM_IS_LIVE(h->states[idx]) || |
|
962
|
0 |
0 |
h->lru_prev[idx] != prev_idx) { corrupt = 1; break; } |
|
965
|
0 |
0 |
if (++chain_len > cap) { corrupt = 1; break; } /* cycle */ |
|
967
|
0 |
0 |
if (!corrupt && prev_idx != tail) corrupt = 1; |
|
|
0 |
0 |
if (!corrupt && prev_idx != tail) corrupt = 1; |
|
976
|
0 |
0 |
if (!corrupt) { |
|
977
|
0 |
0 |
for (uint32_t i = 0; i < cap; i++) |
|
978
|
0 |
0 |
if (SHM_IS_LIVE(h->states[i])) live_count++; |
|
979
|
0 |
0 |
if (chain_len != live_count) corrupt = 1; |
|
981
|
0 |
0 |
if (!corrupt) return; |
|
985
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, cap); |
|
990
|
0 |
0 |
for (uint32_t i = 0; i < cap; i++) { |
|
992
|
0 |
0 |
if (st == SHM_TOMBSTONE) { tomb_count++; continue; } |
|
993
|
0 |
0 |
if (!SHM_IS_LIVE(st)) continue; |
|
995
|
0 |
0 |
if (prev != SHM_LRU_NONE) h->lru_next[prev] = i; |
|
1046
|
13 |
162 |
if (has_lru) { |
|
1052
|
38 |
137 |
if (has_ttl) { |
|
1061
|
88 |
87 |
if (has_arena) { |
|
1064
|
14 |
74 |
if (lo->arena_cap < 4096) lo->arena_cap = 4096; |
|
1089
|
86 |
86 |
hdr->arena_off = has_arena ? lo->arena_off : 0; |
|
1098
|
13 |
159 |
if (has_lru) { |
|
1103
|
38 |
134 |
if (has_ttl) |
|
1116
|
3 |
0 |
hdr->version == SHM_VERSION && |
|
1117
|
2 |
1 |
hdr->variant_id == variant_id && |
|
1118
|
2 |
0 |
hdr->node_size == node_size && |
|
1119
|
2 |
0 |
hdr->nodes_off >= sizeof(ShmHeader) && |
|
1120
|
2 |
0 |
hdr->states_off > hdr->nodes_off && |
|
1121
|
2 |
0 |
hdr->states_off < hdr->total_size && |
|
1122
|
1 |
1 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
|
1 |
0 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
1123
|
1 |
0 |
hdr->arena_off + hdr->arena_cap <= hdr->total_size && |
|
1124
|
1 |
0 |
hdr->arena_bump <= hdr->arena_cap && |
|
1125
|
1 |
0 |
hdr->arena_bump >= SHM_ARENA_MIN_ALLOC)) && |
|
1126
|
2 |
0 |
hdr->max_table_cap > 0 && |
|
1127
|
2 |
0 |
(hdr->max_table_cap & (hdr->max_table_cap - 1)) == 0 && |
|
1128
|
2 |
0 |
hdr->table_cap > 0 && |
|
1129
|
2 |
0 |
(hdr->table_cap & (hdr->table_cap - 1)) == 0 && |
|
1130
|
2 |
0 |
hdr->table_cap <= hdr->max_table_cap && |
|
1131
|
2 |
0 |
hdr->states_off + hdr->max_table_cap <= hdr->total_size && |
|
1132
|
2 |
0 |
hdr->nodes_off + (uint64_t)hdr->max_table_cap * hdr->node_size <= hdr->states_off && |
|
1133
|
2 |
0 |
hdr->size <= hdr->table_cap && |
|
1134
|
3 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
|
2 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
1135
|
0 |
2 |
(!hdr->max_size || |
|
1136
|
0 |
0 |
((hdr->lru_head == SHM_LRU_NONE || hdr->lru_head < hdr->max_table_cap) && |
|
|
0 |
0 |
((hdr->lru_head == SHM_LRU_NONE || hdr->lru_head < hdr->max_table_cap) && |
|
1137
|
0 |
0 |
(hdr->lru_tail == SHM_LRU_NONE || hdr->lru_tail < hdr->max_table_cap)))); |
|
|
0 |
0 |
(hdr->lru_tail == SHM_LRU_NONE || hdr->lru_tail < hdr->max_table_cap)))); |
|
1147
|
0 |
1 |
if (!errbuf) return; |
|
1148
|
0 |
1 |
if (hdr->magic != SHM_MAGIC) |
|
1150
|
0 |
1 |
else if (hdr->version != SHM_VERSION) |
|
1153
|
1 |
0 |
else if (hdr->variant_id != variant_id) |
|
1171
|
0 |
2 |
if (lo->end_off > mapped_size) { |
|
1172
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, |
|
1177
|
2 |
0 |
if (!rs_off || rs_off < lo->end_off || |
|
|
2 |
0 |
if (!rs_off || rs_off < lo->end_off || |
|
1178
|
0 |
2 |
rs_off + SHM_READER_SLOTS * sizeof(ShmReaderSlot) > mapped_size) { |
|
1179
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, |
|
1196
|
0 |
174 |
if (!h) { |
|
1197
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "calloc: out of memory"); |
|
1199
|
0 |
0 |
if (backing_fd >= 0) close(backing_fd); |
|
1205
|
87 |
87 |
h->arena = hdr->arena_off ? (char *)hdr + hdr->arena_off : NULL; |
|
1206
|
13 |
161 |
h->lru_prev = has_lru ? (uint32_t *)((char *)hdr + lo->lru_prev_off) : NULL; |
|
1207
|
13 |
161 |
h->lru_next = has_lru ? (uint32_t *)((char *)hdr + lo->lru_next_off) : NULL; |
|
1208
|
13 |
161 |
h->lru_accessed = has_lru ? (uint8_t *)((char *)hdr + lo->lru_accessed_off) : NULL; |
|
1209
|
38 |
136 |
h->expires_at = has_ttl ? (uint32_t *)((char *)hdr + lo->expires_off) : NULL; |
|
1222
|
156 |
18 |
if (path) { |
|
1224
|
0 |
156 |
if (!h->path) { |
|
1225
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "strdup: out of memory"); |
|
1227
|
0 |
0 |
if (backing_fd >= 0) close(backing_fd); |
|
1233
|
87 |
87 |
if (has_arena) { |
|
1235
|
87 |
0 |
if (h->copy_buf) h->copy_buf_size = 256; |
|
1245
|
169 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1262
|
12 |
157 |
if (anonymous) { |
|
1265
|
0 |
12 |
if (base == MAP_FAILED) { SHM_ERR("mmap(anon): %s", strerror(errno)); return NULL; } |
|
|
0 |
0 |
if (base == MAP_FAILED) { SHM_ERR("mmap(anon): %s", strerror(errno)); return NULL; } |
|
1269
|
0 |
157 |
if (fd < 0) { SHM_ERR("open(%s): %s", path, strerror(errno)); return NULL; } |
|
|
0 |
0 |
if (fd < 0) { SHM_ERR("open(%s): %s", path, strerror(errno)); return NULL; } |
|
1271
|
0 |
157 |
while (flock(fd, LOCK_EX) < 0) { |
|
1272
|
0 |
0 |
if (errno == EINTR) continue; /* retry: a signal interrupted the blocking lock */ |
|
1273
|
0 |
0 |
SHM_ERR("flock(%s): %s", path, strerror(errno)); close(fd); return NULL; |
|
1276
|
0 |
157 |
if (fstat(fd, &st) < 0) { SHM_ERR("fstat(%s): %s", path, strerror(errno)); flock(fd, LOCK_UN); close(fd); return NULL; } |
|
|
0 |
0 |
if (fstat(fd, &st) < 0) { SHM_ERR("fstat(%s): %s", path, strerror(errno)); flock(fd, LOCK_UN); close(fd); return NULL; } |
|
1280
|
1 |
156 |
if (!is_new && (uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
|
0 |
1 |
if (!is_new && (uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
1281
|
0 |
0 |
SHM_ERR("%s: file too small (%lld bytes, need %zu)", path, |
|
1286
|
156 |
1 |
if (is_new) { |
|
1287
|
0 |
156 |
if (ftruncate(fd, (off_t)lo.total_size) < 0) { |
|
1288
|
0 |
0 |
SHM_ERR("ftruncate(%s, %llu): %s", path, (unsigned long long)lo.total_size, strerror(errno)); |
|
1293
|
156 |
1 |
base = mmap(NULL, is_new ? lo.total_size : (size_t)st.st_size, |
|
1295
|
0 |
157 |
if (base == MAP_FAILED) { SHM_ERR("mmap(%s): %s", path, strerror(errno)); flock(fd, LOCK_UN); close(fd); return NULL; } |
|
|
0 |
0 |
if (base == MAP_FAILED) { SHM_ERR("mmap(%s): %s", path, strerror(errno)); flock(fd, LOCK_UN); close(fd); return NULL; } |
|
1299
|
168 |
1 |
uint64_t mapped_size = is_new ? lo.total_size : (uint64_t)st.st_size; |
|
1301
|
168 |
1 |
if (is_new) { |
|
1307
|
0 |
1 |
if (ok) { |
|
1314
|
1 |
0 |
if (!ok) { |
|
1321
|
156 |
12 |
if (fd >= 0) { flock(fd, LOCK_UN); close(fd); } |
|
1334
|
4 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1343
|
4 |
0 |
int fd = memfd_create(name ? name : "hashmap", MFD_CLOEXEC | MFD_ALLOW_SEALING); |
|
1344
|
0 |
4 |
if (fd < 0) { |
|
1345
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "memfd_create: %s", strerror(errno)); |
|
1348
|
0 |
4 |
if (ftruncate(fd, (off_t)lo.total_size) < 0) { |
|
1349
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "ftruncate: %s", strerror(errno)); |
|
1354
|
0 |
4 |
if (base == MAP_FAILED) { |
|
1355
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "mmap: %s", strerror(errno)); |
|
1369
|
3 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1371
|
0 |
3 |
if (fstat(fd, &st) < 0) { |
|
1372
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fstat: %s", strerror(errno)); |
|
1375
|
1 |
2 |
if ((uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
1376
|
1 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fd: file too small for header"); |
|
1381
|
0 |
2 |
if (base == MAP_FAILED) { |
|
1382
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "mmap: %s", strerror(errno)); |
|
1398
|
0 |
2 |
if (!shm_validate_layout_regions(&lo, hdr, has_arena, hdr->total_size, errbuf, "fd")) { |
|
1404
|
0 |
2 |
if (myfd < 0) { |
|
1405
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fcntl: %s", strerror(errno)); |
|
1414
|
0 |
1 |
if (!h) return 0; |
|
1415
|
0 |
1 |
if (h->shard_handles) { |
|
1416
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
1420
|
0 |
0 |
while (rc != 0 && errno == EINTR); /* retry on signal interruption */ |
|
|
0 |
0 |
while (rc != 0 && errno == EINTR); /* retry on signal interruption */ |
|
1421
|
0 |
0 |
if (rc != 0) return rc; |
|
1425
|
0 |
1 |
if (!h->hdr) return 0; |
|
1428
|
0 |
1 |
while (rc != 0 && errno == EINTR); |
|
|
0 |
0 |
while (rc != 0 && errno == EINTR); |
|
1433
|
0 |
177 |
if (!h) return; |
|
1434
|
3 |
174 |
if (h->shard_handles) { |
|
1436
|
12 |
3 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
1449
|
174 |
0 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
|
159 |
15 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
|
159 |
0 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
1450
|
159 |
0 |
h->cached_fork_gen == __atomic_load_n(&shm_fork_gen, __ATOMIC_RELAXED)) { |
|
1459
|
174 |
0 |
if (h->hdr) munmap(h->hdr, h->mmap_size); |
|
1460
|
6 |
168 |
if (h->backing_fd >= 0) close(h->backing_fd); |
|
1472
|
1 |
3 |
if (!path_prefix) { |
|
1473
|
1 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "new_sharded requires a path_prefix"); |
|
1478
|
6 |
3 |
while (ns < num_shards) ns <<= 1; |
|
1482
|
0 |
3 |
if (!h) { if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "calloc: out of memory"); return NULL; } |
|
|
0 |
0 |
if (!h) { if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "calloc: out of memory"); return NULL; } |
|
1485
|
0 |
3 |
if (!h->shard_handles) { free(h); if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "calloc: out of memory"); return NULL; } |
|
|
0 |
0 |
if (!h->shard_handles) { free(h); if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "calloc: out of memory"); return NULL; } |
|
1490
|
0 |
3 |
if (!h->path) { |
|
1491
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "strdup: out of memory"); |
|
1497
|
12 |
3 |
for (uint32_t i = 0; i < num_shards; i++) { |
|
1500
|
12 |
0 |
if (sn < 0 || sn >= (int)sizeof(shard_path)) { |
|
|
0 |
12 |
if (sn < 0 || sn >= (int)sizeof(shard_path)) { |
|
1501
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "shard path too long"); |
|
1502
|
0 |
0 |
for (uint32_t j = 0; j < i; j++) |
|
1512
|
0 |
12 |
if (!h->shard_handles[i]) { |
|
1514
|
0 |
0 |
for (uint32_t j = 0; j < i; j++) |
|
1531
|
1 |
0 |
if (!h->shard_handles) { |
|
1532
|
1 |
0 |
if (!h->path) return 0; |
|
1536
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
1537
|
0 |
0 |
if (h->shard_handles[i] && h->shard_handles[i]->path) { |
|
|
0 |
0 |
if (h->shard_handles[i] && h->shard_handles[i]->path) { |
|
1538
|
0 |
0 |
if (unlink(h->shard_handles[i]->path) != 0) ok = 0; |
|
1546
|
0 |
16 |
if (!c) return NULL; |
|
1548
|
1 |
15 |
if (h->shard_handles) { |
|
1563
|
0 |
16 |
if (!c) return; |
|
1565
|
5 |
11 |
if (cur && cur->iterating > 0) |
|
|
5 |
0 |
if (cur && cur->iterating > 0) |
|
1631
|
8198 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
34 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
15 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
18 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
1632
|
19 |
8179 |
if (shm_inline_len(kl_packed) != len) return 0; |
|
|
0 |
34 |
if (shm_inline_len(kl_packed) != len) return 0; |
|
|
0 |
15 |
if (shm_inline_len(kl_packed) != len) return 0; |
|
|
0 |
18 |
if (shm_inline_len(kl_packed) != len) return 0; |
|
1637
|
0 |
0 |
if (SHM_UNPACK_LEN(kl_packed) != len) return 0; |
|
|
0 |
0 |
if (SHM_UNPACK_LEN(kl_packed) != len) return 0; |
|
|
0 |
0 |
if (SHM_UNPACK_LEN(kl_packed) != len) return 0; |
|
|
0 |
0 |
if (SHM_UNPACK_LEN(kl_packed) != len) return 0; |
|
1705
|
4109 |
10290 |
while (SHM_IS_LIVE(states[pos])) |
|
|
0 |
0 |
while (SHM_IS_LIVE(states[pos])) |
|
|
2 |
13 |
while (SHM_IS_LIVE(states[pos])) |
|
|
0 |
0 |
while (SHM_IS_LIVE(states[pos])) |
|
|
0 |
0 |
while (SHM_IS_LIVE(states[pos])) |
|
|
0 |
0 |
while (SHM_IS_LIVE(states[pos])) |
|
|
0 |
0 |
while (SHM_IS_LIVE(states[pos])) |
|
|
8581 |
22826 |
while (SHM_IS_LIVE(states[pos])) |
|
|
764 |
2042 |
while (SHM_IS_LIVE(states[pos])) |
|
|
0 |
0 |
while (SHM_IS_LIVE(states[pos])) |
|
1736
|
2 |
8026 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
1 |
3 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
5 |
13336 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
500 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
1737
|
0 |
8028 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
1 |
3 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
1 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
1 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
34 |
13307 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
500 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
1 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
1748
|
2 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
1 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
5 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
1749
|
2 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
2 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
1 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
1 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
5 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
5 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
1756
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) victim = hdr->lru_tail; |
|
1761
|
0 |
2 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
1 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
5 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
1766
|
0 |
2 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
1 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
5 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
|
0 |
0 |
int was_expired = SHM_IS_EXPIRED(h, victim, shm_now()); |
|
1768
|
0 |
2 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
1 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
0 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
0 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
0 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
0 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
0 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
5 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
0 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
|
0 |
0 |
__atomic_add_fetch(was_expired ? &hdr->stat_expired |
|
1796
|
23 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
23 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
1 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
1 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
53 |
10 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
3 |
50 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
8 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
8 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
1798
|
21 |
2 |
if (live > 0) { |
|
|
0 |
0 |
if (live > 0) { |
|
|
1 |
0 |
if (live > 0) { |
|
|
0 |
0 |
if (live > 0) { |
|
|
0 |
0 |
if (live > 0) { |
|
|
0 |
0 |
if (live > 0) { |
|
|
0 |
0 |
if (live > 0) { |
|
|
59 |
4 |
if (live > 0) { |
|
|
8 |
0 |
if (live > 0) { |
|
|
0 |
0 |
if (live > 0) { |
|
1800
|
0 |
21 |
if (!saved) return 0; |
|
|
0 |
0 |
if (!saved) return 0; |
|
|
0 |
1 |
if (!saved) return 0; |
|
|
0 |
0 |
if (!saved) return 0; |
|
|
0 |
0 |
if (!saved) return 0; |
|
|
0 |
0 |
if (!saved) return 0; |
|
|
0 |
0 |
if (!saved) return 0; |
|
|
0 |
59 |
if (!saved) return 0; |
|
|
0 |
8 |
if (!saved) return 0; |
|
|
0 |
0 |
if (!saved) return 0; |
|
1802
|
0 |
21 |
if (need_mapping) { |
|
|
0 |
0 |
if (need_mapping) { |
|
|
0 |
1 |
if (need_mapping) { |
|
|
0 |
0 |
if (need_mapping) { |
|
|
0 |
0 |
if (need_mapping) { |
|
|
0 |
0 |
if (need_mapping) { |
|
|
0 |
0 |
if (need_mapping) { |
|
|
12 |
47 |
if (need_mapping) { |
|
|
0 |
8 |
if (need_mapping) { |
|
|
0 |
0 |
if (need_mapping) { |
|
1805
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
12 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
12 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
0 |
if (!saved_indices || !old_to_new) { |
|
1812
|
0 |
21 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
1 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
10 |
49 |
if (h->lru_prev) { |
|
|
0 |
8 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
1814
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
10 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
1819
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
250 |
10 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
250 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
0 |
0 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
1825
|
0 |
21 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
2 |
57 |
if (h->expires_at) { |
|
|
0 |
8 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
1827
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
2 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
1835
|
24604 |
11 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
24594 |
10 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
16 |
1 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
16 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
53116 |
47 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
53104 |
12 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
4080 |
8 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
4080 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
1836
|
10290 |
14304 |
if (SHM_IS_LIVE(states[i])) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i])) { |
|
|
13 |
3 |
if (SHM_IS_LIVE(states[i])) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i])) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i])) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i])) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i])) { |
|
|
22826 |
30278 |
if (SHM_IS_LIVE(states[i])) { |
|
|
2042 |
2038 |
if (SHM_IS_LIVE(states[i])) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i])) { |
|
1838
|
0 |
10290 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
0 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
13 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
0 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
0 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
0 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
0 |
if (saved_indices) saved_indices[j] = i; |
|
|
288 |
22538 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
2042 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
0 |
if (saved_indices) saved_indices[j] = i; |
|
1850
|
0 |
23 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
1 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
10 |
53 |
if (h->lru_prev) { |
|
|
0 |
8 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
1853
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
10 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, new_cap); |
|
1857
|
0 |
23 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
3 |
60 |
if (h->expires_at) { |
|
|
0 |
8 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
1861
|
10290 |
23 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
13 |
1 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
22826 |
63 |
for (uint32_t k = 0; k < live; k++) { |
|
|
2042 |
8 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
1863
|
0 |
10290 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
0 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
13 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
0 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
0 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
0 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
0 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
288 |
22538 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
2042 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
0 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
1868
|
0 |
23 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
1 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
10 |
53 |
if (h->lru_prev && lru_order) { |
|
|
10 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
8 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
0 |
if (h->lru_prev && lru_order) { |
|
1869
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
250 |
10 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < lru_count; i++) { |
|
1871
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
250 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
1877
|
0 |
23 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
1 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
3 |
60 |
if (h->expires_at && saved_exp) { |
|
|
2 |
1 |
if (h->expires_at && saved_exp) { |
|
|
0 |
8 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
1878
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
38 |
2 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
|
0 |
0 |
for (uint32_t k = 0; k < live; k++) { |
|
1880
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
38 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
1885
|
9 |
14 |
if (new_cap < old_cap) { |
|
|
0 |
0 |
if (new_cap < old_cap) { |
|
|
0 |
1 |
if (new_cap < old_cap) { |
|
|
0 |
0 |
if (new_cap < old_cap) { |
|
|
0 |
0 |
if (new_cap < old_cap) { |
|
|
0 |
0 |
if (new_cap < old_cap) { |
|
|
0 |
0 |
if (new_cap < old_cap) { |
|
|
13 |
50 |
if (new_cap < old_cap) { |
|
|
1 |
7 |
if (new_cap < old_cap) { |
|
|
0 |
0 |
if (new_cap < old_cap) { |
|
1905
|
15 |
8097 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
0 |
44 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
1 |
21 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
0 |
17 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
0 |
18 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
0 |
21 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
0 |
13 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
55 |
14934 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
7 |
1017 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
0 |
23 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
1906
|
0 |
15 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
1 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
55 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
7 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
1907
|
11 |
4 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
1 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
46 |
9 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
7 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
1909
|
4 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
1 |
3 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
9 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
1 |
8 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
1911
|
8096 |
1 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
8096 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
44 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
44 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
21 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
21 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
17 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
17 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
18 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
18 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
21 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
21 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
13 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
13 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
14934 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
14934 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
1017 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
1017 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
23 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
23 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
1912
|
0 |
1 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
1919
|
12 |
8013 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
2 |
0 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
0 |
0 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
1 |
0 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
0 |
0 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
0 |
0 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
1 |
0 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
14 |
13290 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
0 |
500 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
1 |
0 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
1920
|
9 |
8004 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
0 |
0 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
0 |
0 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
0 |
0 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
0 |
0 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
0 |
0 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
0 |
0 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
153 |
13137 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
1 |
499 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
|
0 |
0 |
if (__builtin_expect((uint64_t)hdr->size * 4 < hdr->table_cap, 0)) { |
|
1921
|
0 |
9 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
142 |
11 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
1 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
1923
|
0 |
9 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
11 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
1 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
1929
|
3 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
3 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
1 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
1 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
1 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
1 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
20 |
1 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
2 |
18 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
2 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h || !h->deferred || h->iterating > 0) return; |
|
1935
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
2 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
|
0 |
0 |
if ((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3) { |
|
1936
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
|
0 |
0 |
if (cap < hdr->max_table_cap) /* cap is pow2; cap*2 can't overflow here */ |
|
1938
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
0 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
1940
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
2 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
2 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
0 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
1942
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
2 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (new_cap < SHM_INITIAL_CAP) new_cap = SHM_INITIAL_CAP; |
|
1944
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
|
0 |
0 |
} else if (tomb > size || tomb > cap / 4) { |
|
1984
|
4 |
8101 |
if (h->expires_at) { |
|
|
3 |
17 |
if (h->expires_at) { |
|
|
1 |
13 |
if (h->expires_at) { |
|
|
2 |
5 |
if (h->expires_at) { |
|
|
4 |
8 |
if (h->expires_at) { |
|
|
1 |
15 |
if (h->expires_at) { |
|
|
0 |
6 |
if (h->expires_at) { |
|
|
45 |
14914 |
if (h->expires_at) { |
|
|
0 |
1014 |
if (h->expires_at) { |
|
|
2 |
10 |
if (h->expires_at) { |
|
1985
|
4 |
0 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
2 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
1 |
0 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
2 |
0 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
3 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
1 |
0 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
0 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
38 |
7 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
0 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
2 |
0 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
1986
|
4 |
0 |
if (ttl > 0) |
|
|
3 |
0 |
if (ttl > 0) |
|
|
1 |
0 |
if (ttl > 0) |
|
|
2 |
0 |
if (ttl > 0) |
|
|
4 |
0 |
if (ttl > 0) |
|
|
1 |
0 |
if (ttl > 0) |
|
|
0 |
0 |
if (ttl > 0) |
|
|
42 |
3 |
if (ttl > 0) |
|
|
0 |
0 |
if (ttl > 0) |
|
|
2 |
0 |
if (ttl > 0) |
|
1991
|
32210 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
25 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
22 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
11 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
14 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
26 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
8 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
54118 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
3366 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
14 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
1997
|
8103 |
24107 |
if (st == SHM_EMPTY) { |
|
|
20 |
5 |
if (st == SHM_EMPTY) { |
|
|
14 |
8 |
if (st == SHM_EMPTY) { |
|
|
7 |
4 |
if (st == SHM_EMPTY) { |
|
|
12 |
2 |
if (st == SHM_EMPTY) { |
|
|
16 |
10 |
if (st == SHM_EMPTY) { |
|
|
6 |
2 |
if (st == SHM_EMPTY) { |
|
|
14958 |
39160 |
if (st == SHM_EMPTY) { |
|
|
1014 |
2352 |
if (st == SHM_EMPTY) { |
|
|
12 |
2 |
if (st == SHM_EMPTY) { |
|
1998
|
5103 |
3000 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
20 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
14 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
6 |
1 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
12 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
16 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
6 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
11957 |
3001 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1014 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
12 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
2001
|
3000 |
21107 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
5 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
8 |
if (st == SHM_TOMBSTONE) { |
|
|
1 |
3 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
10 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
3001 |
36159 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2352 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
2002
|
3000 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
3001 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
2006
|
20964 |
143 |
if (st != tag) continue; |
|
|
5 |
0 |
if (st != tag) continue; |
|
|
8 |
0 |
if (st != tag) continue; |
|
|
3 |
0 |
if (st != tag) continue; |
|
|
2 |
0 |
if (st != tag) continue; |
|
|
10 |
0 |
if (st != tag) continue; |
|
|
2 |
0 |
if (st != tag) continue; |
|
|
35945 |
214 |
if (st != tag) continue; |
|
|
2345 |
7 |
if (st != tag) continue; |
|
|
2 |
0 |
if (st != tag) continue; |
|
2008
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
213 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
7 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2010
|
2 |
141 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
2017
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) |
|
2024
|
0 |
2 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
2025
|
0 |
2 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
2026
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
2033
|
0 |
8103 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
20 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
14 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
7 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
12 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
16 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
6 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
14958 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
1014 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
12 |
if (insert_pos == UINT32_MAX) return 0; |
|
2036
|
7 |
8096 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
2 |
5 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
20 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
14 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
7 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
12 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
16 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
6 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
226 |
14732 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
5 |
221 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1014 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
12 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
2045
|
0 |
8103 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) |
|
|
0 |
20 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) |
|
|
0 |
14 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) |
|
|
0 |
7 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) |
|
2050
|
0 |
8103 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
12 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
16 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
6 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
2062
|
3000 |
5103 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
20 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
14 |
if (was_tombstone) hdr->tombstones--; |
|
|
1 |
6 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
12 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
16 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
6 |
if (was_tombstone) hdr->tombstones--; |
|
|
3001 |
11957 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1014 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
12 |
if (was_tombstone) hdr->tombstones--; |
|
2064
|
7 |
8096 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
20 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
14 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
7 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
12 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
16 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
6 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
226 |
14732 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1014 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
12 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
2065
|
4 |
8099 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
3 |
17 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
1 |
13 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
2 |
5 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
4 |
8 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
1 |
15 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
0 |
6 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
45 |
14913 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
0 |
1014 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
2 |
10 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
2084
|
0 |
12 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
16 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
250 |
14709 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1014 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
12 |
SHM_SHARD_DISPATCH(h, key); |
|
2086
|
1 |
8104 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
20 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
14 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
7 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2146
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
1 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
1 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
7 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
2176
|
0 |
13 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
10207 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
9 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
11 |
SHM_SHARD_DISPATCH(h, key); |
|
2178
|
1 |
99 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
28 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
9 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2216
|
39 |
61 |
if (pos + 16 <= hdr->table_cap) { |
|
|
27 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
5 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
9 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
13 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
10 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
61 |
10146 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
3 |
if (pos + 16 <= hdr->table_cap) { |
|
2220
|
60 |
1 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
1 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
1 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
0 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
0 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
0 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
0 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
9408 |
738 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
1 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
3 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
2222
|
60 |
1 |
while (relevant) { |
|
|
1 |
0 |
while (relevant) { |
|
|
1 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
10093 |
87 |
while (relevant) { |
|
|
1 |
0 |
while (relevant) { |
|
|
2 |
1 |
while (relevant) { |
|
2227
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
10059 |
34 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2231
|
60 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
0 |
1 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
1 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
2233
|
0 |
60 |
if (kl != key_len) goto simd_next; |
|
|
0 |
1 |
if (kl != key_len) goto simd_next; |
|
|
0 |
1 |
if (kl != key_len) goto simd_next; |
|
|
0 |
0 |
if (kl != key_len) goto simd_next; |
|
2234
|
60 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
0 |
1 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
1 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
0 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
2237
|
0 |
60 |
if (memcmp(ibuf, key_str, kl) != 0) goto simd_next; |
|
|
0 |
0 |
if (memcmp(ibuf, key_str, kl) != 0) goto simd_next; |
|
|
0 |
1 |
if (memcmp(ibuf, key_str, kl) != 0) goto simd_next; |
|
|
0 |
0 |
if (memcmp(ibuf, key_str, kl) != 0) goto simd_next; |
|
2240
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) goto simd_done; |
|
|
0 |
1 |
if ((uint64_t)koff + kl > arena_cap) goto simd_done; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) goto simd_done; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) goto simd_done; |
|
2241
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) goto simd_next; |
|
|
0 |
1 |
if (memcmp(h->arena + koff, key_str, kl) != 0) goto simd_next; |
|
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) goto simd_next; |
|
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) goto simd_next; |
|
2248
|
59 |
1 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
0 |
0 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
0 |
0 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
0 |
0 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
2262
|
1 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
56 |
31 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
1 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
2267
|
40 |
60 |
if (!found) { |
|
|
27 |
1 |
if (!found) { |
|
|
5 |
1 |
if (!found) { |
|
|
9 |
0 |
if (!found) { |
|
|
13 |
0 |
if (!found) { |
|
|
8 |
0 |
if (!found) { |
|
|
10 |
0 |
if (!found) { |
|
|
148 |
10059 |
if (!found) { |
|
|
8 |
1 |
if (!found) { |
|
|
9 |
2 |
if (!found) { |
|
2268
|
49 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
29 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
5 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
10 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
15 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
11 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
13 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
481 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
9 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
12 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
2274
|
3 |
46 |
if (st == SHM_EMPTY) break; |
|
|
1 |
28 |
if (st == SHM_EMPTY) break; |
|
|
0 |
5 |
if (st == SHM_EMPTY) break; |
|
|
0 |
10 |
if (st == SHM_EMPTY) break; |
|
|
0 |
15 |
if (st == SHM_EMPTY) break; |
|
|
0 |
11 |
if (st == SHM_EMPTY) break; |
|
|
1 |
12 |
if (st == SHM_EMPTY) break; |
|
|
71 |
410 |
if (st == SHM_EMPTY) break; |
|
|
0 |
9 |
if (st == SHM_EMPTY) break; |
|
|
1 |
11 |
if (st == SHM_EMPTY) break; |
|
2275
|
9 |
37 |
if (st != tag) continue; |
|
|
2 |
26 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
1 |
9 |
if (st != tag) continue; |
|
|
2 |
13 |
if (st != tag) continue; |
|
|
3 |
8 |
if (st != tag) continue; |
|
|
3 |
9 |
if (st != tag) continue; |
|
|
332 |
78 |
if (st != tag) continue; |
|
|
1 |
8 |
if (st != tag) continue; |
|
|
3 |
8 |
if (st != tag) continue; |
|
2278
|
13 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
8 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
9 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
77 |
1 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
8 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
8 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2283
|
37 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
26 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
5 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
9 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
2284
|
0 |
37 |
if (kl != key_len) continue; |
|
|
0 |
26 |
if (kl != key_len) continue; |
|
|
0 |
5 |
if (kl != key_len) continue; |
|
|
0 |
9 |
if (kl != key_len) continue; |
|
2286
|
37 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
26 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
5 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
9 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
2289
|
0 |
37 |
if (memcmp(ibuf, key_str, kl) != 0) continue; |
|
|
0 |
26 |
if (memcmp(ibuf, key_str, kl) != 0) continue; |
|
|
0 |
5 |
if (memcmp(ibuf, key_str, kl) != 0) continue; |
|
|
0 |
9 |
if (memcmp(ibuf, key_str, kl) != 0) continue; |
|
2291
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
2292
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
2299
|
31 |
6 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
12 |
1 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
4 |
4 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
8 |
1 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
2311
|
97 |
3 |
if (found) { |
|
|
27 |
1 |
if (found) { |
|
|
6 |
0 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
13 |
0 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
9 |
1 |
if (found) { |
|
|
10136 |
71 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
10 |
1 |
if (found) { |
|
2313
|
3 |
94 |
if (h->expires_at) { |
|
|
4 |
23 |
if (h->expires_at) { |
|
|
1 |
5 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
|
2 |
11 |
if (h->expires_at) { |
|
|
1 |
7 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
|
6 |
10130 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
|
1 |
9 |
if (h->expires_at) { |
|
2315
|
3 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
3 |
if (exp != 0 && shm_now() >= exp) { |
|
|
4 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
4 |
if (exp != 0 && shm_now() >= exp) { |
|
|
1 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
1 |
if (exp != 0 && shm_now() >= exp) { |
|
|
1 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
1 |
if (exp != 0 && shm_now() >= exp) { |
|
|
2 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
2 |
if (exp != 0 && shm_now() >= exp) { |
|
|
1 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
1 |
if (exp != 0 && shm_now() >= exp) { |
|
|
1 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
1 |
if (exp != 0 && shm_now() >= exp) { |
|
|
6 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
1 |
5 |
if (exp != 0 && shm_now() >= exp) { |
|
|
1 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
1 |
if (exp != 0 && shm_now() >= exp) { |
|
|
1 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
0 |
1 |
if (exp != 0 && shm_now() >= exp) { |
|
2321
|
97 |
3 |
if (found) { |
|
|
27 |
1 |
if (found) { |
|
|
6 |
0 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
13 |
0 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
9 |
1 |
if (found) { |
|
|
10135 |
72 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
10 |
1 |
if (found) { |
|
2323
|
90 |
7 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
|
12 |
1 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
|
4 |
4 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
|
8 |
1 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
2325
|
90 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
90 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
12 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
12 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
4 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
4 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
8 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
8 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
2326
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
2332
|
0 |
7 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
|
0 |
1 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
|
0 |
4 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
|
0 |
1 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
2333
|
7 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
7 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
1 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
1 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
4 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
4 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
1 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
1 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
2334
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
2340
|
0 |
97 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
27 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
6 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
9 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
13 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
8 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
9 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
10135 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
9 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
10 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
2343
|
0 |
97 |
if (h->lru_accessed) |
|
|
2 |
25 |
if (h->lru_accessed) |
|
|
0 |
6 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
|
0 |
13 |
if (h->lru_accessed) |
|
|
0 |
8 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
|
1 |
10134 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
|
0 |
10 |
if (h->lru_accessed) |
|
2355
|
0 |
3 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
1 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
1 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
72 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
1 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
2370
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
2372
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2390
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
2395
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
2396
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
2398
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2400
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
2402
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
0 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
2422
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
7 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
2424
|
0 |
9 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2427
|
0 |
9 |
if (h->expires_at) { |
|
|
0 |
2 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
7 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
2 |
if (h->expires_at) { |
|
2453
|
14 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
3 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
12 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
2458
|
3 |
11 |
if (st == SHM_EMPTY) break; |
|
|
1 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
4 |
8 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
1 |
1 |
if (st == SHM_EMPTY) break; |
|
2459
|
5 |
6 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
1 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
5 |
3 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
2461
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
3 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2463
|
0 |
6 |
if (!SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) continue; |
|
|
0 |
1 |
if (!SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) continue; |
|
|
0 |
0 |
if (!SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) continue; |
|
|
0 |
1 |
if (!SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) continue; |
|
2471
|
0 |
9 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
2 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
1 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
1 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
7 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
0 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
2 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
2498
|
11571 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
18736 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
590 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
2503
|
1 |
11570 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
0 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
0 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
0 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
|
1 |
18735 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
590 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
2504
|
3546 |
8024 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
5431 |
13304 |
if (st != tag) continue; |
|
|
90 |
500 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
2506
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
13300 |
4 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
500 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2508
|
8024 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
2525
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
13298 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
500 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
2527
|
0 |
8022 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2539
|
8022 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
1 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
1 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
1 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
13298 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
500 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
1 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
2561
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
5 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
2563
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
5 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2568
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
3 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
5 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
2584
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
5 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
5 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
2589
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
|
2 |
3 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
|
3 |
2 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
2590
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
3 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
2593
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
3 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
2594
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
2597
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
3 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
2599
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2601
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
3 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
2604
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
2606
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
2615
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
4 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
2621
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
4 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
2628
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
2635
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
2648
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
1 |
3 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
2650
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
4 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
2651
|
1 |
1 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
|
4 |
0 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
2652
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
4 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
|
0 |
1 |
uint32_t ttl = (ttl_sec == SHM_TTL_USE_DEFAULT) ? hdr->default_ttl : ttl_sec; |
|
2653
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
3 |
1 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
1 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
2700
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
5 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
2731
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
3 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
2733
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2738
|
2 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
3 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
2752
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
3 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
2757
|
2 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
1 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
1 |
1 |
if (st == SHM_EMPTY) break; |
|
2758
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
2760
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2762
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
2764
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
2775
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) { |
|
2785
|
0 |
2 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
2786
|
1 |
1 |
if (h->expires_at) { |
|
|
0 |
2 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
2 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
2787
|
0 |
1 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
0 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
0 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
0 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
0 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
0 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
0 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
2 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
0 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
|
0 |
0 |
if (ttl_sec == SHM_TTL_USE_DEFAULT) { |
|
2788
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
2791
|
1 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
0 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
0 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
0 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
0 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
0 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
0 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
1 |
1 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
0 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
|
0 |
0 |
h->expires_at[idx] = ttl_sec > 0 ? shm_expiry_ts(ttl_sec) : 0; |
|
2845
|
0 |
2 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
3 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
|
0 |
0 |
if (ttl_sec >= SHM_TTL_USE_DEFAULT - 1) ttl_sec = SHM_TTL_USE_DEFAULT - 2; |
|
2877
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
2879
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2884
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
2 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
2900
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
2905
|
0 |
1 |
if (st == SHM_EMPTY) { |
|
|
0 |
2 |
if (st == SHM_EMPTY) { |
|
|
0 |
1 |
if (st == SHM_EMPTY) { |
|
|
0 |
1 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
|
0 |
1 |
if (st == SHM_EMPTY) { |
|
|
0 |
1 |
if (st == SHM_EMPTY) { |
|
|
0 |
2 |
if (st == SHM_EMPTY) { |
|
|
0 |
1 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
2906
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
2909
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
2910
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
2913
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
2915
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
2917
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
2919
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
2921
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
2927
|
1 |
0 |
uint32_t old_vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
1 |
0 |
uint32_t old_vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
1 |
0 |
uint32_t old_vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
1 |
0 |
uint32_t old_vl = SHM_STR_LEN(nodes[idx].val_len); |
|
2928
|
0 |
1 |
if (!shm_ensure_copy_buf(h, old_vl)) { |
|
|
0 |
1 |
if (!shm_ensure_copy_buf(h, old_vl)) { |
|
|
0 |
1 |
if (!shm_ensure_copy_buf(h, old_vl)) { |
|
|
0 |
1 |
if (!shm_ensure_copy_buf(h, old_vl)) { |
|
2941
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, val_str, val_len, val_utf8)) { |
|
2953
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
2954
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
2 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
2 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
2 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
1 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
2964
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
2971
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
2978
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
2985
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
2998
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
3000
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
3001
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
3003
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
|
0 |
0 |
h->expires_at[insert_pos] = ttl > 0 ? shm_expiry_ts(ttl) : 0; |
|
3026
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
3028
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
3033
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
3047
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
3052
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
3053
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
3056
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
3058
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
3061
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
3072
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
3073
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
3118
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
3120
|
0 |
3 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
3125
|
0 |
3 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
4 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
3139
|
3 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
3144
|
0 |
3 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
1 |
3 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
3145
|
0 |
3 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
3 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
3147
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
3 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
3149
|
3 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
3151
|
0 |
3 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
3 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
3163
|
2 |
1 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
2 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
0 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
0 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
0 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
0 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
0 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
0 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
3168
|
0 |
2 |
if (!shm_ensure_copy_buf(h, cur_len)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, cur_len)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, cur_len)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, cur_len)) { |
|
3178
|
0 |
0 |
if (nodes[idx].value != expected) { |
|
|
0 |
0 |
if (nodes[idx].value != expected) { |
|
|
0 |
0 |
if (nodes[idx].value != expected) { |
|
|
1 |
2 |
if (nodes[idx].value != expected) { |
|
|
0 |
0 |
if (nodes[idx].value != expected) { |
|
|
0 |
0 |
if (nodes[idx].value != expected) { |
|
3212
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
3213
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
3227
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
3234
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
3241
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
3244
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
3245
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
3252
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < hdr->table_cap; i++) { |
|
3253
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i])) continue; |
|
3254
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
3262
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
3273
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3274
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + 1)) { |
|
3287
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
3289
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3292
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + vl + 1)) { |
|
3301
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl + 1)) { |
|
3338
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
3339
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
3353
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
|
0 |
0 |
if (rc) { h->shard_iter = (si + 1) % h->num_shards; return 1; } |
|
3360
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
3367
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
3370
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
3371
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
3378
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
|
0 |
0 |
for (uint32_t i = hdr->table_cap; i > 0; i--) { |
|
3379
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[i - 1])) continue; |
|
3380
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, i - 1, now)) { |
|
3388
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
3399
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3400
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + 1)) { |
|
3413
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
3415
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3417
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + vl + 1)) { |
|
3426
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl + 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl + 1)) { |
|
3474
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
3479
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
3485
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
3488
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
0 |
0 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
3490
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
3491
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
|
0 |
0 |
if (!SHM_IS_EXPIRED(h, pos, now)) { idx = pos; break; } |
|
3497
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
|
0 |
0 |
for (; scan_pos < hdr->table_cap; scan_pos++) { |
|
3498
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
|
0 |
0 |
if (!SHM_IS_LIVE(states[scan_pos])) continue; |
|
3499
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
3508
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
3515
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3516
|
0 |
0 |
if ((uint64_t)buf_used + kl > UINT32_MAX) break; /* drain buffer would exceed 4GB */ |
|
|
0 |
0 |
if ((uint64_t)buf_used + kl > UINT32_MAX) break; /* drain buffer would exceed 4GB */ |
|
|
0 |
0 |
if ((uint64_t)buf_used + kl > UINT32_MAX) break; /* drain buffer would exceed 4GB */ |
|
|
0 |
0 |
if ((uint64_t)buf_used + kl > UINT32_MAX) break; /* drain buffer would exceed 4GB */ |
|
3517
|
0 |
0 |
if (!shm_grow_buf(buf, buf_cap, buf_used + kl)) break; |
|
|
0 |
0 |
if (!shm_grow_buf(buf, buf_cap, buf_used + kl)) break; |
|
|
0 |
0 |
if (!shm_grow_buf(buf, buf_cap, buf_used + kl)) break; |
|
|
0 |
0 |
if (!shm_grow_buf(buf, buf_cap, buf_used + kl)) break; |
|
3528
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
3529
|
0 |
0 |
if ((uint64_t)buf_used + vl > UINT32_MAX) break; /* drain buffer would exceed 4GB */ |
|
|
0 |
0 |
if ((uint64_t)buf_used + vl > UINT32_MAX) break; /* drain buffer would exceed 4GB */ |
|
|
0 |
0 |
if ((uint64_t)buf_used + vl > UINT32_MAX) break; /* drain buffer would exceed 4GB */ |
|
|
0 |
0 |
if ((uint64_t)buf_used + vl > UINT32_MAX) break; /* drain buffer would exceed 4GB */ |
|
3530
|
0 |
0 |
if (!shm_grow_buf(buf, buf_cap, buf_used + vl)) break; |
|
|
0 |
0 |
if (!shm_grow_buf(buf, buf_cap, buf_used + vl)) break; |
|
|
0 |
0 |
if (!shm_grow_buf(buf, buf_cap, buf_used + vl)) break; |
|
|
0 |
0 |
if (!shm_grow_buf(buf, buf_cap, buf_used + vl)) break; |
|
3545
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
|
0 |
0 |
if (count > 0) SHM_FN(maybe_shrink)(h); |
|
3556
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
3558
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
3564
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
|
0 |
0 |
if (total > 0) h->shard_iter = (h->shard_iter + 1) % h->num_shards; |
|
3595
|
6 |
10 |
if (pos + 16 <= hdr->table_cap) { |
|
|
1 |
7 |
if (pos + 16 <= hdr->table_cap) { |
|
|
1 |
8 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
10 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
8 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
10 |
if (pos + 16 <= hdr->table_cap) { |
|
3598
|
6 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
1 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
1 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
0 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
0 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
0 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
3600
|
3 |
3 |
while (relevant) { |
|
|
0 |
1 |
while (relevant) { |
|
|
0 |
1 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
3604
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { *out_idx = idx; return 1; } |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { *out_idx = idx; return 1; } |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { *out_idx = idx; return 1; } |
|
3606
|
3 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { *out_idx = idx; return 1; } |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { *out_idx = idx; return 1; } |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { *out_idx = idx; return 1; } |
|
3610
|
3 |
0 |
if (emask) return 0; |
|
|
1 |
0 |
if (emask) return 0; |
|
|
1 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
3615
|
10 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
7 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
8 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
10 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
8 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
10 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
3620
|
2 |
8 |
if (st == SHM_EMPTY) return 0; |
|
|
2 |
5 |
if (st == SHM_EMPTY) return 0; |
|
|
2 |
6 |
if (st == SHM_EMPTY) return 0; |
|
|
3 |
7 |
if (st == SHM_EMPTY) return 0; |
|
|
3 |
5 |
if (st == SHM_EMPTY) return 0; |
|
|
3 |
7 |
if (st == SHM_EMPTY) return 0; |
|
3621
|
0 |
8 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
6 |
if (st != tag) continue; |
|
|
0 |
7 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
7 |
if (st != tag) continue; |
|
3623
|
7 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
5 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
7 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
3625
|
8 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
5 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
6 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
3642
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
3644
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
3 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
3648
|
0 |
4 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
3 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
4 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
4 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
3656
|
4 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
4 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
2 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
2 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
3 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
3 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
4 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
4 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
2 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
2 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
4 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
4 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
3660
|
3 |
1 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
|
1 |
1 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
|
3 |
1 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
3662
|
3 |
1 |
if (SHM_FN(find_slot)(h, key_str, key_len, key_utf8, &idx)) { |
|
|
1 |
1 |
if (SHM_FN(find_slot)(h, key_str, key_len, key_utf8, &idx)) { |
|
|
2 |
1 |
if (SHM_FN(find_slot)(h, key_str, key_len, key_utf8, &idx)) { |
|
3688
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
3693
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
3694
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
3697
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
3698
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
3701
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
3703
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
3705
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[slot], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[slot], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[slot], h->arena, key_str, key_len, key_utf8)) { |
|
3708
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
3711
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
3717
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
3718
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
3727
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
3735
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
3742
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
3752
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
3754
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
3755
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
3777
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
3779
|
0 |
24 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
3783
|
4 |
20 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
3789
|
16 |
8 |
if (!h->lru_prev && !h->expires_at) { |
|
|
12 |
4 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
6 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
3793
|
4 |
2 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
|
4 |
2 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
|
4 |
2 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
3795
|
8 |
4 |
if (SHM_FN(find_slot)(h, key_str, key_len, key_utf8, &idx)) { |
|
|
4 |
2 |
if (SHM_FN(find_slot)(h, key_str, key_len, key_utf8, &idx)) { |
|
|
4 |
2 |
if (SHM_FN(find_slot)(h, key_str, key_len, key_utf8, &idx)) { |
|
3798
|
4 |
4 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
4 |
4 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
2 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
3801
|
4 |
0 |
if (__atomic_compare_exchange_n(&nodes[idx].value, &cur, desired, |
|
|
2 |
0 |
if (__atomic_compare_exchange_n(&nodes[idx].value, &cur, desired, |
|
|
2 |
0 |
if (__atomic_compare_exchange_n(&nodes[idx].value, &cur, desired, |
|
|
2 |
0 |
if (__atomic_compare_exchange_n(&nodes[idx].value, &cur, desired, |
|
|
2 |
0 |
if (__atomic_compare_exchange_n(&nodes[idx].value, &cur, desired, |
|
|
2 |
0 |
if (__atomic_compare_exchange_n(&nodes[idx].value, &cur, desired, |
|
3829
|
17 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
3834
|
11 |
6 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
3835
|
11 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
2 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
3838
|
0 |
6 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
3839
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
3842
|
1 |
5 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
3844
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
3846
|
5 |
0 |
if (SHM_KEY_EQ_STR(&nodes[slot], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[slot], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[slot], h->arena, key_str, key_len, key_utf8)) { |
|
3848
|
2 |
3 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
2 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
3851
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = slot; |
|
3856
|
0 |
0 |
SHM_VAL_INT_TYPE result = |
|
|
0 |
0 |
SHM_VAL_INT_TYPE result = |
|
3858
|
2 |
2 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
3860
|
3 |
1 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, slot); |
|
3861
|
1 |
3 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[slot] != 0) |
|
3870
|
0 |
12 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
3878
|
5 |
7 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
1 |
4 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
3885
|
0 |
12 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
2 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
3895
|
1 |
11 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
3897
|
5 |
7 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
3898
|
3 |
9 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
3 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
2 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
2 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
2 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
2 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
2 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
3918
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
3920
|
0 |
3 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
3925
|
0 |
3 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
3939
|
3 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
3944
|
0 |
3 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
3945
|
0 |
3 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
3947
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
3949
|
3 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
3951
|
0 |
3 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
3958
|
2 |
1 |
if (nodes[idx].value == expected) { |
|
|
1 |
1 |
if (nodes[idx].value == expected) { |
|
|
1 |
1 |
if (nodes[idx].value == expected) { |
|
|
0 |
0 |
if (nodes[idx].value == expected) { |
|
|
1 |
1 |
if (nodes[idx].value == expected) { |
|
|
1 |
1 |
if (nodes[idx].value == expected) { |
|
3960
|
0 |
2 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
3961
|
0 |
2 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
3993
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
3995
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4000
|
1 |
9 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
4014
|
10 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
9 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
9 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
9 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
4019
|
1 |
9 |
if (st == SHM_EMPTY) break; |
|
|
1 |
8 |
if (st == SHM_EMPTY) break; |
|
|
1 |
8 |
if (st == SHM_EMPTY) break; |
|
|
1 |
8 |
if (st == SHM_EMPTY) break; |
|
4020
|
0 |
9 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
4022
|
5 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
5 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
5 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
4024
|
9 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4026
|
1 |
8 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
5 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
5 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
5 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
4037
|
8 |
1 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
1 |
7 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
4 |
1 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
4 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
4 |
1 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
4 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
4 |
1 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
|
0 |
4 |
if (cur_len != expected_len || memcmp(cur_str, expected_str, cur_len) != 0) { |
|
4044
|
0 |
7 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, |
|
|
0 |
4 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, |
|
|
0 |
4 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, |
|
|
0 |
4 |
if (!shm_str_store(hdr, h->arena, &nodes[idx].val_off, &nodes[idx].val_len, |
|
4051
|
1 |
6 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
4 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
4 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
4 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
4052
|
1 |
6 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
4 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
4 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
4 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
4069
|
0 |
9 |
if (h->shard_handles) { |
|
|
0 |
5 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
2 |
26 |
if (h->shard_handles) { |
|
|
0 |
2 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
4071
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
8 |
2 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4073
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
2 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
4081
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
2 |
10 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4083
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
8 |
2 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4085
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
2 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
4094
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
2 |
9 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4096
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
8 |
2 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4098
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
2 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
|
0 |
0 |
return (uint32_t)(total > UINT32_MAX ? UINT32_MAX : total); |
|
4104
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
0 |
1 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
1 |
1 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
4130
|
0 |
3 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
4132
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4137
|
0 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
1 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
3 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
3 |
3 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now_ts = h->expires_at ? shm_now() : 0; |
|
4150
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
3 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
6 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
4155
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
3 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
1 |
5 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
4156
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
3 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
4158
|
3 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
5 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
4160
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4162
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
3 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
2 |
1 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
3 |
2 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
2 |
1 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
1 |
1 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
4168
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
3 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
4169
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
3 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
4182
|
0 |
0 |
if (h->lru_accessed) |
|
|
0 |
1 |
if (h->lru_accessed) |
|
|
0 |
0 |
if (h->lru_accessed) |
|
|
0 |
0 |
if (h->lru_accessed) |
|
|
0 |
3 |
if (h->lru_accessed) |
|
|
0 |
0 |
if (h->lru_accessed) |
|
|
0 |
0 |
if (h->lru_accessed) |
|
|
0 |
4 |
if (h->lru_accessed) |
|
|
0 |
0 |
if (h->lru_accessed) |
|
|
0 |
0 |
if (h->lru_accessed) |
|
4184
|
0 |
0 |
if (out_ttl_remaining) { |
|
|
1 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
|
3 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
|
4 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
4185
|
0 |
0 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
0 |
1 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
0 |
0 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
0 |
0 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
0 |
3 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
0 |
0 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
0 |
0 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
2 |
2 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
0 |
0 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
|
0 |
0 |
if (!h->expires_at) *out_ttl_remaining = -1; |
|
4186
|
0 |
0 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
0 |
1 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
0 |
0 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
0 |
0 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
1 |
2 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
0 |
0 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
0 |
0 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
1 |
1 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
0 |
0 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
|
0 |
0 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
4208
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
16 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
4210
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4212
|
0 |
6 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
2 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
2 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
1 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
1 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
1 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
0 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
1 |
15 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
0 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
4 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
4229
|
7 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
15 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
4234
|
1 |
6 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
1 |
14 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
4 |
if (st == SHM_EMPTY) break; |
|
4235
|
1 |
5 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
2 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
2 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
14 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
4 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
4237
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
14 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
4 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
4239
|
5 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4242
|
0 |
5 |
if (exp == 0) { |
|
|
0 |
2 |
if (exp == 0) { |
|
|
1 |
1 |
if (exp == 0) { |
|
|
1 |
0 |
if (exp == 0) { |
|
|
1 |
0 |
if (exp == 0) { |
|
|
1 |
0 |
if (exp == 0) { |
|
|
0 |
0 |
if (exp == 0) { |
|
|
5 |
9 |
if (exp == 0) { |
|
|
0 |
0 |
if (exp == 0) { |
|
|
1 |
3 |
if (exp == 0) { |
|
4247
|
0 |
5 |
if (now >= exp) { |
|
|
0 |
2 |
if (now >= exp) { |
|
|
0 |
1 |
if (now >= exp) { |
|
|
0 |
0 |
if (now >= exp) { |
|
|
0 |
0 |
if (now >= exp) { |
|
|
0 |
0 |
if (now >= exp) { |
|
|
0 |
0 |
if (now >= exp) { |
|
|
0 |
9 |
if (now >= exp) { |
|
|
0 |
0 |
if (now >= exp) { |
|
|
0 |
3 |
if (now >= exp) { |
|
4272
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
4274
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4276
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
|
0 |
2 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
4294
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
4299
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
4300
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
4302
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
4304
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4306
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
4337
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
4339
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4341
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
4359
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
4364
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
4365
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
4367
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
4369
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4371
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
4380
|
0 |
0 |
if (ttl_sec == 0) |
|
|
0 |
1 |
if (ttl_sec == 0) |
|
|
0 |
1 |
if (ttl_sec == 0) |
|
|
0 |
1 |
if (ttl_sec == 0) |
|
|
0 |
1 |
if (ttl_sec == 0) |
|
|
0 |
0 |
if (ttl_sec == 0) |
|
|
0 |
0 |
if (ttl_sec == 0) |
|
|
0 |
0 |
if (ttl_sec == 0) |
|
|
0 |
0 |
if (ttl_sec == 0) |
|
|
0 |
1 |
if (ttl_sec == 0) |
|
4397
|
0 |
4 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
1 |
20 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4399
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
4 |
1 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4407
|
0 |
3 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
1 |
11 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4409
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
4 |
1 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4417
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
2 |
9 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4419
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
8 |
2 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4433
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
9 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4436
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
4439
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
4441
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
|
0 |
0 |
if (done_out) *done_out = all_done; |
|
4444
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
9 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
4445
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
|
0 |
0 |
if (done_out) *done_out = 1; /* trivially complete */ |
|
4448
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
9 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
4460
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
9 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
|
0 |
0 |
if (start >= cap) start = 0; /* clamp after shrink */ |
|
4461
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
9 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
|
0 |
0 |
if (limit == 0) limit = 1; /* scan at least one slot */ |
|
4462
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
1 |
8 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
|
0 |
0 |
if (limit > cap) limit = cap; /* can't scan more than exists */ |
|
4464
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
80 |
9 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
|
0 |
0 |
for (uint32_t n = 0; n < limit; n++) { |
|
4466
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
32 |
48 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
32 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
32 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
4474
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
8 |
1 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
1 |
7 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || (uint64_t)start + limit >= cap); |
|
4475
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
7 |
2 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
4477
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
9 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
4481
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
2 |
7 |
if (done && flushed > 0) |
|
|
2 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
|
0 |
0 |
if (done && flushed > 0) |
|
4491
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4493
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4497
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
4512
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
4514
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4516
|
2 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
2 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
1 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
1 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
7 |
1 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
1 |
6 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
0 |
0 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
4521
|
2 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
1 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
6 |
1 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
4534
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
7 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
4539
|
1 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
1 |
6 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
4540
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
6 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
4542
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
6 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
4544
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4546
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
5 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
4 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
3 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
4555
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
1 |
4 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
4556
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
1 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
4 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
4 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
3 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
4572
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
5 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4574
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4579
|
0 |
1 |
if (target > hdr->max_table_cap) return 0; |
|
|
0 |
0 |
if (target > hdr->max_table_cap) return 0; |
|
|
0 |
0 |
if (target > hdr->max_table_cap) return 0; |
|
|
0 |
0 |
if (target > hdr->max_table_cap) return 0; |
|
|
0 |
0 |
if (target > hdr->max_table_cap) return 0; |
|
|
0 |
0 |
if (target > hdr->max_table_cap) return 0; |
|
|
0 |
0 |
if (target > hdr->max_table_cap) return 0; |
|
|
1 |
4 |
if (target > hdr->max_table_cap) return 0; |
|
|
0 |
0 |
if (target > hdr->max_table_cap) return 0; |
|
|
0 |
0 |
if (target > hdr->max_table_cap) return 0; |
|
4582
|
0 |
1 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
4 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
|
0 |
0 |
if (needed < SHM_INITIAL_CAP) needed = SHM_INITIAL_CAP; |
|
4583
|
0 |
1 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
0 |
0 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
0 |
0 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
0 |
0 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
0 |
0 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
0 |
0 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
0 |
0 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
1 |
3 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
0 |
0 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
|
0 |
0 |
if (needed <= hdr->table_cap) return 1; /* already big enough */ |
|
4584
|
0 |
1 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
0 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
0 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
0 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
0 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
0 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
0 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
3 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
0 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
|
0 |
0 |
if (needed > hdr->max_table_cap) return 0; /* exceeds max */ |
|
4589
|
1 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
|
3 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
4599
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
1 |
12 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4601
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
4 |
1 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4609
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
1 |
8 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4611
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
4 |
1 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4619
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
1 |
4 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4621
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
4 |
1 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4629
|
0 |
2 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
1 |
4 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4631
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
4 |
1 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4635
|
2 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
1 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
4 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
4639
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
1 |
4 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4641
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
4 |
1 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4645
|
0 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
1 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
4 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
4651
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
2 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
4652
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4666
|
0 |
1 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
0 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
0 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
0 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
0 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
0 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
0 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
2 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
1 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
|
0 |
1 |
if (hdr->table_cap > SHM_INITIAL_CAP) { |
|
4676
|
1 |
0 |
if (h->arena) { |
|
|
0 |
0 |
if (h->arena) { |
|
|
0 |
0 |
if (h->arena) { |
|
|
0 |
0 |
if (h->arena) { |
|
|
0 |
0 |
if (h->arena) { |
|
|
0 |
0 |
if (h->arena) { |
|
|
0 |
0 |
if (h->arena) { |
|
|
0 |
2 |
if (h->arena) { |
|
|
0 |
1 |
if (h->arena) { |
|
|
0 |
1 |
if (h->arena) { |
|
4683
|
0 |
1 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
|
1 |
1 |
if (h->lru_prev) { |
|
|
0 |
1 |
if (h->lru_prev) { |
|
|
0 |
1 |
if (h->lru_prev) { |
|
4686
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
1 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, hdr->max_table_cap); |
|
4692
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
2 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
4703
|
0 |
1 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
2 |
if (h->iter_active) { |
|
|
0 |
1 |
if (h->iter_active) { |
|
|
0 |
1 |
if (h->iter_active) { |
|
4705
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4713
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4714
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4719
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
1 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
4721
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
1 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4743
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
20 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
4745
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4750
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
20 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
2 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
4766
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
58 |
1 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
4772
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
|
0 |
0 |
if (st == SHM_EMPTY) { |
|
|
0 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
|
0 |
0 |
if (st == SHM_EMPTY) { |
|
|
0 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
|
17 |
41 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
4773
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
17 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
1 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
4776
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
41 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
4777
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
4780
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
39 |
2 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
4782
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
4784
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4787
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
4789
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
4795
|
1 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
1 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
4796
|
0 |
1 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
1 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
4809
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
2 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_promote(h, idx); |
|
4810
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
2 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
4819
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
1 |
17 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
4826
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
17 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
0 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
4834
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) { |
|
4842
|
1 |
0 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
|
0 |
1 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
|
1 |
0 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
|
0 |
1 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
4850
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, def_str, def_len, def_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, def_str, def_len, def_utf8)) { |
|
|
0 |
0 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, def_str, def_len, def_utf8)) { |
|
|
0 |
1 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, def_str, def_len, def_utf8)) { |
|
4864
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
17 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
4866
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
17 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
1 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
4867
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
17 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
1 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
0 |
0 |
if (h->expires_at && hdr->default_ttl > 0) |
|
4898
|
0 |
3 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
322 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4899
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
|
0 |
0 |
while (h->shard_iter < h->num_shards) { |
|
4912
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
4922
|
0 |
3 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
322 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
4926
|
1 |
2 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
|
6 |
316 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
4933
|
0 |
3 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
0 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
0 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
0 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
0 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
0 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
0 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
322 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
0 |
if (h->iter_gen != hdr->table_gen) { |
|
|
0 |
0 |
if (h->iter_gen != hdr->table_gen) { |
|
4938
|
2 |
1 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
317 |
5 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &h->iter_pos)) { |
|
4942
|
0 |
2 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
317 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
4949
|
2 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
4951
|
2 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
4953
|
0 |
2 |
if (total64 > UINT32_MAX) { |
|
4956
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4964
|
0 |
2 |
if (!shm_ensure_copy_buf(h, total)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, total)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, total)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, total)) { |
|
4967
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4979
|
2 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
4981
|
2 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
4985
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
0 |
0 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
4988
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
5008
|
1 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
5 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
5028
|
7 |
1 |
while (c->shard_idx < c->shard_count) { |
|
|
6 |
1 |
while (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
while (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
while (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
while (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
while (c->shard_idx < c->shard_count) { |
|
|
3 |
1 |
while (c->shard_idx < c->shard_count) { |
|
|
104 |
9 |
while (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
while (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
while (c->shard_idx < c->shard_count) { |
|
5033
|
0 |
7 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
6 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
3 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
104 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
|
0 |
0 |
uint32_t now = h->expires_at ? shm_now() : 0; |
|
5038
|
0 |
7 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
6 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
0 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
0 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
0 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
0 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
3 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
104 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
0 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
0 |
if (c->gen != hdr->table_gen) { |
|
5043
|
6 |
1 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
5 |
1 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
2 |
1 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
95 |
9 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
|
0 |
0 |
while (shm_find_next_live(states, hdr->table_cap, &c->iter_pos)) { |
|
5046
|
0 |
6 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
5 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
2 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
95 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, pos, now)) |
|
5053
|
6 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
|
5 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
5055
|
6 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
5057
|
0 |
6 |
if (total64 > UINT32_MAX) { |
|
5065
|
0 |
6 |
if (!shm_cursor_ensure_copy_buf(c, total)) { |
|
|
0 |
5 |
if (!shm_cursor_ensure_copy_buf(c, total)) { |
|
|
0 |
0 |
if (!shm_cursor_ensure_copy_buf(c, total)) { |
|
|
0 |
0 |
if (!shm_cursor_ensure_copy_buf(c, total)) { |
|
5077
|
6 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
|
2 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
5079
|
6 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
5083
|
0 |
0 |
if (!shm_cursor_ensure_copy_buf(c, vl)) { |
|
|
0 |
0 |
if (!shm_cursor_ensure_copy_buf(c, vl)) { |
|
|
0 |
2 |
if (!shm_cursor_ensure_copy_buf(c, vl)) { |
|
5104
|
1 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
1 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
1 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
9 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
5107
|
0 |
1 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
1 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
1 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
9 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
if (c->shard_idx < c->shard_count) { |
|
|
0 |
0 |
if (c->shard_idx < c->shard_count) { |
|
5126
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
1 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
0 |
if (c->current && c->current->iterating > 0) |
|
5131
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
1 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |