| line |
true |
false |
branch |
|
83
|
90 |
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 |
12038 |
if (utf8) lf |= SHM_UTF8_FLAG; |
|
184
|
4358 |
7688 |
if (slen > 4) { |
|
202
|
10789 |
8133 |
if (slen > 4) { |
|
214
|
10382 |
7 |
if (SHM_IS_INLINE(len_field)) { |
|
334
|
1 |
33 |
if (needed == 0) needed = 1; |
|
335
|
24 |
10 |
if (needed <= *cap) return 1; |
|
336
|
6 |
4 |
uint32_t ns = *cap ? *cap : 64; |
|
337
|
42 |
10 |
while (ns < needed) { |
|
339
|
0 |
42 |
if (next <= ns) { ns = needed; break; } /* overflow guard */ |
|
343
|
0 |
10 |
if (!nb) return 0; |
|
395
|
0 |
32 |
if (pid == 0) return 1; /* no owner recorded, assume alive */ |
|
396
|
30 |
2 |
return !(kill((pid_t)pid, 0) == -1 && errno == ESRCH); |
|
|
0 |
30 |
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
|
46658 |
172 |
if (__builtin_expect(cur_gen == h->cached_fork_gen && h->my_slot_idx != UINT32_MAX, 1)) |
|
|
46658 |
0 |
if (__builtin_expect(cur_gen == h->cached_fork_gen && h->my_slot_idx != UINT32_MAX, 1)) |
|
458
|
172 |
0 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
461
|
172 |
0 |
if (__atomic_compare_exchange_n(&h->reader_slots[s].pid, |
|
481
|
0 |
14 |
if (!sub) return; |
|
484
|
12 |
2 |
uint32_t want = (cur > sub) ? cur - sub : 0; |
|
485
|
14 |
0 |
if (__atomic_compare_exchange_n(p, &cur, want, |
|
509
|
0 |
16 |
if (!__atomic_compare_exchange_n(&h->reader_slots[i].pid, &expected, 0, |
|
515
|
13 |
3 |
if (wp) { shm_atomic_sub_cap(&hdr->rwlock_waiters, wp); drained = 1; } |
|
516
|
1 |
15 |
if (writp) { shm_atomic_sub_cap(&hdr->rwlock_writers_waiting, writp); drained = 1; } |
|
531
|
0 |
1 |
if (!h->reader_slots) return; |
|
545
|
1024 |
1 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
547
|
1007 |
17 |
if (pid == 0) continue; |
|
549
|
1 |
16 |
if (shm_pid_alive(pid)) { |
|
550
|
0 |
1 |
if (sc > 0) any_live_reader = 1; |
|
553
|
14 |
2 |
if (sc > 0) { found_dead_reader = 1; continue; } |
|
554
|
1 |
1 |
if (shm_drain_dead_slot(h, i, pid)) any_recovery = 1; |
|
570
|
1 |
0 |
if (found_dead_reader && !any_live_reader) { |
|
|
1 |
0 |
if (found_dead_reader && !any_live_reader) { |
|
572
|
1 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
|
1 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
573
|
1 |
0 |
if (__atomic_compare_exchange_n(&hdr->rwlock, &cur, 0, |
|
576
|
1 |
0 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
580
|
1024 |
1 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
582
|
15 |
1009 |
if (pid == 0 || shm_pid_alive(pid)) continue; |
|
|
1 |
14 |
if (pid == 0 || shm_pid_alive(pid)) continue; |
|
583
|
12 |
2 |
if (shm_drain_dead_slot(h, i, pid)) any_recovery = 1; |
|
586
|
1 |
0 |
if (any_recovery) |
|
599
|
0 |
1 |
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
|
1 |
0 |
if (h->my_slot_idx != UINT32_MAX) { |
|
633
|
1 |
0 |
if (h->my_slot_idx != UINT32_MAX) { |
|
651
|
579 |
0 |
if (h->my_slot_idx != UINT32_MAX) |
|
658
|
0 |
579 |
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
|
579 |
0 |
} else if (cur == 0 && !__atomic_load_n(writers_waiting, __ATOMIC_RELAXED)) { |
|
|
579 |
0 |
} else if (cur == 0 && !__atomic_load_n(writers_waiting, __ATOMIC_RELAXED)) { |
|
663
|
579 |
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
|
579 |
0 |
if (h->my_slot_idx != UINT32_MAX) |
|
699
|
579 |
0 |
if (prev == 0 && __atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
|
0 |
579 |
if (prev == 0 && __atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
712
|
46251 |
33 |
if (__atomic_compare_exchange_n(lock, &expected, mypid, |
|
715
|
32 |
1 |
if (__builtin_expect(spin < SHM_RWLOCK_SPIN_LIMIT, 1)) { |
|
721
|
1 |
0 |
if (cur != 0) { |
|
724
|
1 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
|
1 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
739
|
0 |
46251 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
750
|
10437 |
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 |
7016 |
if (len < SHM_ARENA_MIN_ALLOC) return SHM_ARENA_MIN_ALLOC; |
|
796
|
1816 |
6816 |
if (alloc_size <= SHM_ARENA_MIN_ALLOC) return 0; |
|
797
|
0 |
6816 |
if (alloc_size > (SHM_ARENA_MIN_ALLOC << (SHM_ARENA_NUM_CLASSES - 1))) return -1; |
|
805
|
4328 |
0 |
if (cls >= 0 && hdr->arena_free[cls] != 0) { |
|
|
0 |
4328 |
if (cls >= 0 && hdr->arena_free[cls] != 0) { |
|
814
|
4325 |
3 |
if (off + asize > hdr->arena_cap || off + asize > (uint64_t)UINT32_MAX) |
|
|
0 |
4325 |
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
|
12046 |
4328 |
if (slen <= SHM_INLINE_MAX) { |
|
840
|
3 |
4325 |
if (aoff == 0 && slen > 0) return 0; |
|
|
3 |
0 |
if (aoff == 0 && slen > 0) return 0; |
|
843
|
0 |
4325 |
*len_field = SHM_PACK_LEN(slen, utf8); |
|
850
|
4304 |
11790 |
if (!SHM_IS_INLINE(len_field)) |
|
857
|
32 |
0 |
if (SHM_IS_INLINE(len_field)) |
|
866
|
0 |
7214 |
if (v < 2) return 2; |
|
867
|
0 |
7214 |
if (v > 0x80000000U) return 0; /* overflow: no valid power of 2 */ |
|
879
|
193 |
0 |
uint32_t cap = (want > 0x80000000ULL) ? 0x80000000U : shm_next_pow2((uint32_t)want); |
|
887
|
0 |
190 |
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; |
|
1034
|
22 |
84 |
if (want < 4096) return 4096; |
|
1035
|
0 |
84 |
if (want > UINT32_MAX) return UINT32_MAX; |
|
1058
|
13 |
184 |
if (has_lru) { |
|
1064
|
39 |
158 |
if (has_ttl) { |
|
1073
|
106 |
91 |
if (has_arena) { |
|
1076
|
94 |
12 |
: (uint64_t)max_entries * 128; |
|
1102
|
100 |
90 |
hdr->arena_off = has_arena ? lo->arena_off : 0; |
|
1111
|
13 |
177 |
if (has_lru) { |
|
1116
|
39 |
151 |
if (has_ttl) |
|
1129
|
5 |
0 |
hdr->version == SHM_VERSION && |
|
1130
|
4 |
1 |
hdr->variant_id == variant_id && |
|
1131
|
4 |
0 |
hdr->node_size == node_size && |
|
1132
|
4 |
0 |
hdr->nodes_off >= sizeof(ShmHeader) && |
|
1133
|
4 |
0 |
hdr->states_off > hdr->nodes_off && |
|
1134
|
4 |
0 |
hdr->states_off < hdr->total_size && |
|
1135
|
3 |
1 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
|
3 |
0 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
1136
|
3 |
0 |
hdr->arena_off + hdr->arena_cap <= hdr->total_size && |
|
1137
|
3 |
0 |
hdr->arena_bump <= hdr->arena_cap && |
|
1138
|
3 |
0 |
hdr->arena_bump >= SHM_ARENA_MIN_ALLOC)) && |
|
1139
|
4 |
0 |
hdr->max_table_cap > 0 && |
|
1140
|
4 |
0 |
(hdr->max_table_cap & (hdr->max_table_cap - 1)) == 0 && |
|
1141
|
4 |
0 |
hdr->table_cap > 0 && |
|
1142
|
4 |
0 |
(hdr->table_cap & (hdr->table_cap - 1)) == 0 && |
|
1143
|
4 |
0 |
hdr->table_cap <= hdr->max_table_cap && |
|
1144
|
4 |
0 |
hdr->states_off + hdr->max_table_cap <= hdr->total_size && |
|
1145
|
4 |
0 |
hdr->nodes_off + (uint64_t)hdr->max_table_cap * hdr->node_size <= hdr->states_off && |
|
1146
|
4 |
0 |
hdr->size <= hdr->table_cap && |
|
1147
|
5 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
|
4 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
1148
|
0 |
4 |
(!hdr->max_size || |
|
1149
|
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) && |
|
1150
|
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)))); |
|
1160
|
0 |
1 |
if (!errbuf) return; |
|
1161
|
0 |
1 |
if (hdr->magic != SHM_MAGIC) |
|
1163
|
0 |
1 |
else if (hdr->version != SHM_VERSION) |
|
1166
|
1 |
0 |
else if (hdr->variant_id != variant_id) |
|
1184
|
0 |
4 |
if (lo->end_off > mapped_size) { |
|
1185
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, |
|
1190
|
4 |
0 |
if (!rs_off || rs_off < lo->end_off || |
|
|
4 |
0 |
if (!rs_off || rs_off < lo->end_off || |
|
1191
|
0 |
4 |
rs_off + SHM_READER_SLOTS * sizeof(ShmReaderSlot) > mapped_size) { |
|
1192
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, |
|
1209
|
0 |
194 |
if (!h) { |
|
1210
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "calloc: out of memory"); |
|
1212
|
0 |
0 |
if (backing_fd >= 0) close(backing_fd); |
|
1218
|
103 |
91 |
h->arena = hdr->arena_off ? (char *)hdr + hdr->arena_off : NULL; |
|
1219
|
13 |
181 |
h->lru_prev = has_lru ? (uint32_t *)((char *)hdr + lo->lru_prev_off) : NULL; |
|
1220
|
13 |
181 |
h->lru_next = has_lru ? (uint32_t *)((char *)hdr + lo->lru_next_off) : NULL; |
|
1221
|
13 |
181 |
h->lru_accessed = has_lru ? (uint8_t *)((char *)hdr + lo->lru_accessed_off) : NULL; |
|
1222
|
39 |
155 |
h->expires_at = has_ttl ? (uint32_t *)((char *)hdr + lo->expires_off) : NULL; |
|
1235
|
175 |
19 |
if (path) { |
|
1237
|
0 |
175 |
if (!h->path) { |
|
1238
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "strdup: out of memory"); |
|
1240
|
0 |
0 |
if (backing_fd >= 0) close(backing_fd); |
|
1246
|
103 |
91 |
if (has_arena) { |
|
1248
|
103 |
0 |
if (h->copy_buf) h->copy_buf_size = 256; |
|
1258
|
188 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1275
|
12 |
176 |
if (anonymous) { |
|
1278
|
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; } |
|
1282
|
0 |
176 |
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; } |
|
1284
|
0 |
176 |
while (flock(fd, LOCK_EX) < 0) { |
|
1285
|
0 |
0 |
if (errno == EINTR) continue; /* retry: a signal interrupted the blocking lock */ |
|
1286
|
0 |
0 |
SHM_ERR("flock(%s): %s", path, strerror(errno)); close(fd); return NULL; |
|
1289
|
0 |
176 |
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; } |
|
1293
|
3 |
173 |
if (!is_new && (uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
|
0 |
3 |
if (!is_new && (uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
1294
|
0 |
0 |
SHM_ERR("%s: file too small (%lld bytes, need %zu)", path, |
|
1299
|
173 |
3 |
if (is_new) { |
|
1300
|
0 |
173 |
if (ftruncate(fd, (off_t)lo.total_size) < 0) { |
|
1301
|
0 |
0 |
SHM_ERR("ftruncate(%s, %llu): %s", path, (unsigned long long)lo.total_size, strerror(errno)); |
|
1306
|
173 |
3 |
base = mmap(NULL, is_new ? lo.total_size : (size_t)st.st_size, |
|
1308
|
0 |
176 |
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; } |
|
1312
|
185 |
3 |
uint64_t mapped_size = is_new ? lo.total_size : (uint64_t)st.st_size; |
|
1314
|
185 |
3 |
if (is_new) { |
|
1320
|
2 |
1 |
if (ok) { |
|
1327
|
1 |
2 |
if (!ok) { |
|
1334
|
175 |
12 |
if (fd >= 0) { flock(fd, LOCK_UN); close(fd); } |
|
1347
|
5 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1356
|
5 |
0 |
int fd = memfd_create(name ? name : "hashmap", MFD_CLOEXEC | MFD_ALLOW_SEALING); |
|
1357
|
0 |
5 |
if (fd < 0) { |
|
1358
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "memfd_create: %s", strerror(errno)); |
|
1361
|
0 |
5 |
if (ftruncate(fd, (off_t)lo.total_size) < 0) { |
|
1362
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "ftruncate: %s", strerror(errno)); |
|
1367
|
0 |
5 |
if (base == MAP_FAILED) { |
|
1368
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "mmap: %s", strerror(errno)); |
|
1382
|
3 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1384
|
0 |
3 |
if (fstat(fd, &st) < 0) { |
|
1385
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fstat: %s", strerror(errno)); |
|
1388
|
1 |
2 |
if ((uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
1389
|
1 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fd: file too small for header"); |
|
1394
|
0 |
2 |
if (base == MAP_FAILED) { |
|
1395
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "mmap: %s", strerror(errno)); |
|
1411
|
0 |
2 |
if (!shm_validate_layout_regions(&lo, hdr, has_arena, hdr->total_size, errbuf, "fd")) { |
|
1417
|
0 |
2 |
if (myfd < 0) { |
|
1418
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fcntl: %s", strerror(errno)); |
|
1427
|
0 |
1 |
if (!h) return 0; |
|
1428
|
0 |
1 |
if (h->shard_handles) { |
|
1429
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
1433
|
0 |
0 |
while (rc != 0 && errno == EINTR); /* retry on signal interruption */ |
|
|
0 |
0 |
while (rc != 0 && errno == EINTR); /* retry on signal interruption */ |
|
1434
|
0 |
0 |
if (rc != 0) return rc; |
|
1438
|
0 |
1 |
if (!h->hdr) return 0; |
|
1441
|
0 |
1 |
while (rc != 0 && errno == EINTR); |
|
|
0 |
0 |
while (rc != 0 && errno == EINTR); |
|
1446
|
0 |
198 |
if (!h) return; |
|
1447
|
4 |
194 |
if (h->shard_handles) { |
|
1449
|
16 |
4 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
1462
|
194 |
0 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
|
172 |
22 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
|
172 |
0 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
1463
|
172 |
0 |
h->cached_fork_gen == __atomic_load_n(&shm_fork_gen, __ATOMIC_RELAXED)) { |
|
1472
|
194 |
0 |
if (h->hdr) munmap(h->hdr, h->mmap_size); |
|
1473
|
7 |
187 |
if (h->backing_fd >= 0) close(h->backing_fd); |
|
1486
|
1 |
4 |
if (!path_prefix) { |
|
1487
|
1 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "new_sharded requires a path_prefix"); |
|
1492
|
8 |
4 |
while (ns < num_shards) ns <<= 1; |
|
1496
|
0 |
4 |
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; } |
|
1499
|
0 |
4 |
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; } |
|
1504
|
0 |
4 |
if (!h->path) { |
|
1505
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "strdup: out of memory"); |
|
1511
|
16 |
4 |
for (uint32_t i = 0; i < num_shards; i++) { |
|
1514
|
16 |
0 |
if (sn < 0 || sn >= (int)sizeof(shard_path)) { |
|
|
0 |
16 |
if (sn < 0 || sn >= (int)sizeof(shard_path)) { |
|
1515
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "shard path too long"); |
|
1516
|
0 |
0 |
for (uint32_t j = 0; j < i; j++) |
|
1526
|
0 |
16 |
if (!h->shard_handles[i]) { |
|
1528
|
0 |
0 |
for (uint32_t j = 0; j < i; j++) |
|
1545
|
1 |
0 |
if (!h->shard_handles) { |
|
1546
|
1 |
0 |
if (!h->path) return 0; |
|
1550
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
1551
|
0 |
0 |
if (h->shard_handles[i] && h->shard_handles[i]->path) { |
|
|
0 |
0 |
if (h->shard_handles[i] && h->shard_handles[i]->path) { |
|
1552
|
0 |
0 |
if (unlink(h->shard_handles[i]->path) != 0) ok = 0; |
|
1560
|
0 |
16 |
if (!c) return NULL; |
|
1562
|
1 |
15 |
if (h->shard_handles) { |
|
1577
|
0 |
16 |
if (!c) return; |
|
1579
|
5 |
11 |
if (cur && cur->iterating > 0) |
|
|
5 |
0 |
if (cur && cur->iterating > 0) |
|
1645
|
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)) { |
|
1646
|
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; |
|
1651
|
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; |
|
1722
|
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])) |
|
1753
|
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); |
|
1754
|
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; |
|
1765
|
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) { |
|
1766
|
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)) { |
|
1773
|
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; |
|
1778
|
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; |
|
1783
|
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()); |
|
1785
|
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 |
|
1813
|
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); |
|
1815
|
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) { |
|
1817
|
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; |
|
1819
|
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) { |
|
1822
|
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) { |
|
1829
|
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) { |
|
1831
|
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) { |
|
1836
|
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) { |
|
1842
|
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) { |
|
1844
|
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) { |
|
1852
|
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++) { |
|
1853
|
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])) { |
|
1855
|
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; |
|
1867
|
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) { |
|
1870
|
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); |
|
1874
|
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) { |
|
1878
|
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++) { |
|
1880
|
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; |
|
1885
|
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) { |
|
1886
|
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++) { |
|
1888
|
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) |
|
1894
|
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) { |
|
1895
|
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++) { |
|
1897
|
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) |
|
1902
|
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) { |
|
1922
|
15 |
8107 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
0 |
46 |
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 |
19 |
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)) { |
|
|
68 |
14963 |
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)) { |
|
1923
|
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 |
68 |
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; } |
|
1924
|
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 |
22 |
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 */ |
|
1926
|
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) |
|
|
22 |
0 |
else if (tomb > size || tomb > cap / 4) |
|
|
1 |
21 |
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) |
|
1928
|
8106 |
1 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
8106 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
46 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
46 |
} 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)) { |
|
|
19 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
19 |
} 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)) { |
|
|
14963 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
14963 |
} 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)) { |
|
1929
|
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; } |
|
1936
|
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; |
|
1937
|
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)) { |
|
1938
|
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; } |
|
1940
|
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; |
|
1946
|
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; |
|
1952
|
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) { |
|
1953
|
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 */ |
|
1955
|
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) |
|
1957
|
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) { |
|
1959
|
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; |
|
1961
|
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) { |
|
2001
|
4 |
8111 |
if (h->expires_at) { |
|
|
3 |
19 |
if (h->expires_at) { |
|
|
1 |
13 |
if (h->expires_at) { |
|
|
2 |
5 |
if (h->expires_at) { |
|
|
4 |
9 |
if (h->expires_at) { |
|
|
1 |
15 |
if (h->expires_at) { |
|
|
0 |
6 |
if (h->expires_at) { |
|
|
46 |
14952 |
if (h->expires_at) { |
|
|
0 |
1014 |
if (h->expires_at) { |
|
|
2 |
10 |
if (h->expires_at) { |
|
2002
|
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; |
|
|
39 |
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; |
|
2003
|
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) |
|
|
43 |
3 |
if (ttl > 0) |
|
|
0 |
0 |
if (ttl > 0) |
|
|
2 |
0 |
if (ttl > 0) |
|
2008
|
32220 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
27 |
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++) { |
|
|
15 |
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++) { |
|
|
54275 |
5 |
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++) { |
|
2014
|
8113 |
24107 |
if (st == SHM_EMPTY) { |
|
|
22 |
5 |
if (st == SHM_EMPTY) { |
|
|
14 |
8 |
if (st == SHM_EMPTY) { |
|
|
7 |
4 |
if (st == SHM_EMPTY) { |
|
|
13 |
2 |
if (st == SHM_EMPTY) { |
|
|
16 |
10 |
if (st == SHM_EMPTY) { |
|
|
6 |
2 |
if (st == SHM_EMPTY) { |
|
|
14992 |
39283 |
if (st == SHM_EMPTY) { |
|
|
1014 |
2352 |
if (st == SHM_EMPTY) { |
|
|
12 |
2 |
if (st == SHM_EMPTY) { |
|
2015
|
5113 |
3000 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
22 |
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; |
|
|
13 |
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; |
|
|
11991 |
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; |
|
2018
|
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 |
36282 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2352 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
2019
|
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; |
|
2023
|
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; |
|
|
36068 |
214 |
if (st != tag) continue; |
|
|
2345 |
7 |
if (st != tag) continue; |
|
|
2 |
0 |
if (st != tag) continue; |
|
2025
|
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)) { |
|
2027
|
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)) { |
|
2034
|
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)) |
|
2041
|
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); |
|
2042
|
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) { |
|
2043
|
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) |
|
2050
|
0 |
8113 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
22 |
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 |
13 |
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; |
|
|
5 |
14992 |
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; |
|
2053
|
7 |
8106 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
2 |
5 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
22 |
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 |
13 |
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 |
14766 |
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) |
|
2062
|
0 |
8113 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) |
|
|
1 |
21 |
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)) |
|
2067
|
2 |
8111 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].val_off, &nodes[insert_pos].val_len, val_str, val_len, val_utf8)) { |
|
|
0 |
13 |
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)) { |
|
2079
|
3000 |
5111 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
21 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
14 |
if (was_tombstone) hdr->tombstones--; |
|
|
1 |
6 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
13 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
16 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
6 |
if (was_tombstone) hdr->tombstones--; |
|
|
3001 |
11991 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1014 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
12 |
if (was_tombstone) hdr->tombstones--; |
|
2081
|
7 |
8104 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
0 |
21 |
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 |
13 |
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 |
14766 |
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); |
|
2082
|
4 |
8107 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
3 |
18 |
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 |
9 |
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; |
|
|
46 |
14946 |
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; |
|
2101
|
0 |
13 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
16 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
250 |
14728 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1014 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
12 |
SHM_SHARD_DISPATCH(h, key); |
|
2103
|
2 |
8113 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
22 |
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); |
|
2163
|
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; |
|
2193
|
0 |
14 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
10208 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
9 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
11 |
SHM_SHARD_DISPATCH(h, key); |
|
2195
|
2 |
103 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
29 |
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); |
|
2233
|
49 |
61 |
if (pos + 16 <= hdr->table_cap) { |
|
|
28 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
5 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
9 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
15 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
10 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
62 |
10146 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
3 |
if (pos + 16 <= hdr->table_cap) { |
|
2237
|
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; |
|
2239
|
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) { |
|
2244
|
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)) { |
|
2248
|
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); |
|
2250
|
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; |
|
2251
|
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)) { |
|
2254
|
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; |
|
2257
|
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; |
|
2258
|
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; |
|
2265
|
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); |
|
2279
|
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 */ |
|
2284
|
50 |
60 |
if (!found) { |
|
|
28 |
1 |
if (!found) { |
|
|
5 |
1 |
if (!found) { |
|
|
9 |
0 |
if (!found) { |
|
|
15 |
0 |
if (!found) { |
|
|
8 |
0 |
if (!found) { |
|
|
10 |
0 |
if (!found) { |
|
|
149 |
10059 |
if (!found) { |
|
|
8 |
1 |
if (!found) { |
|
|
9 |
2 |
if (!found) { |
|
2285
|
59 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
30 |
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++) { |
|
|
17 |
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++) { |
|
|
482 |
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++) { |
|
2291
|
3 |
56 |
if (st == SHM_EMPTY) break; |
|
|
1 |
29 |
if (st == SHM_EMPTY) break; |
|
|
0 |
5 |
if (st == SHM_EMPTY) break; |
|
|
0 |
10 |
if (st == SHM_EMPTY) break; |
|
|
0 |
17 |
if (st == SHM_EMPTY) break; |
|
|
0 |
11 |
if (st == SHM_EMPTY) break; |
|
|
1 |
12 |
if (st == SHM_EMPTY) break; |
|
|
71 |
411 |
if (st == SHM_EMPTY) break; |
|
|
0 |
9 |
if (st == SHM_EMPTY) break; |
|
|
1 |
11 |
if (st == SHM_EMPTY) break; |
|
2292
|
9 |
47 |
if (st != tag) continue; |
|
|
2 |
27 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
1 |
9 |
if (st != tag) continue; |
|
|
2 |
15 |
if (st != tag) continue; |
|
|
3 |
8 |
if (st != tag) continue; |
|
|
3 |
9 |
if (st != tag) continue; |
|
|
332 |
79 |
if (st != tag) continue; |
|
|
1 |
8 |
if (st != tag) continue; |
|
|
3 |
8 |
if (st != tag) continue; |
|
2295
|
15 |
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)) { |
|
|
78 |
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)) { |
|
2300
|
47 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
26 |
1 |
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); |
|
2301
|
0 |
47 |
if (kl != key_len) continue; |
|
|
0 |
27 |
if (kl != key_len) continue; |
|
|
0 |
5 |
if (kl != key_len) continue; |
|
|
0 |
9 |
if (kl != key_len) continue; |
|
2303
|
47 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
26 |
1 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
5 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
9 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
2306
|
0 |
47 |
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; |
|
2308
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
|
0 |
1 |
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; |
|
2309
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
|
0 |
1 |
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; |
|
2316
|
31 |
16 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
12 |
3 |
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); |
|
2328
|
107 |
3 |
if (found) { |
|
|
28 |
1 |
if (found) { |
|
|
6 |
0 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
15 |
0 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
9 |
1 |
if (found) { |
|
|
10137 |
71 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
10 |
1 |
if (found) { |
|
2330
|
3 |
104 |
if (h->expires_at) { |
|
|
4 |
24 |
if (h->expires_at) { |
|
|
1 |
5 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
|
2 |
13 |
if (h->expires_at) { |
|
|
1 |
7 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
|
6 |
10131 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
|
1 |
9 |
if (h->expires_at) { |
|
2332
|
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) { |
|
2338
|
107 |
3 |
if (found) { |
|
|
28 |
1 |
if (found) { |
|
|
6 |
0 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
15 |
0 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
9 |
1 |
if (found) { |
|
|
10136 |
72 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
10 |
1 |
if (found) { |
|
2340
|
90 |
17 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
|
12 |
3 |
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)) { |
|
2342
|
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) { |
|
2343
|
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; |
|
2349
|
0 |
17 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
|
0 |
3 |
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; |
|
2350
|
12 |
5 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
12 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
2 |
1 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
2 |
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) { |
|
2351
|
5 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
5 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
1 |
0 |
if (!shm_ensure_copy_buf(h, local_vl > 0 ? local_vl : 1)) return 0; |
|
|
0 |
1 |
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; |
|
2357
|
0 |
102 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
28 |
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 |
14 |
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 |
10136 |
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; |
|
2360
|
0 |
102 |
if (h->lru_accessed) |
|
|
2 |
26 |
if (h->lru_accessed) |
|
|
0 |
6 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
|
0 |
14 |
if (h->lru_accessed) |
|
|
0 |
8 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
|
1 |
10135 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
|
0 |
10 |
if (h->lru_accessed) |
|
2372
|
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; |
|
2387
|
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); |
|
2389
|
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); |
|
2407
|
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++) { |
|
2412
|
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; |
|
2413
|
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 */ |
|
2415
|
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)) { |
|
2417
|
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)) { |
|
2419
|
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); |
|
2439
|
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); |
|
2441
|
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); |
|
2444
|
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) { |
|
2470
|
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++) { |
|
2475
|
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; |
|
2476
|
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 */ |
|
2478
|
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)) { |
|
2480
|
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; |
|
2488
|
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; |
|
2515
|
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++) { |
|
2520
|
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; |
|
2521
|
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; |
|
2523
|
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)) { |
|
2525
|
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)) { |
|
2542
|
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); |
|
2544
|
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); |
|
2556
|
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); |
|
2578
|
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); |
|
2580
|
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); |
|
2585
|
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; |
|
2601
|
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++) { |
|
2606
|
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) { |
|
2607
|
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; |
|
2610
|
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) { |
|
2611
|
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; |
|
2614
|
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; |
|
2616
|
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)) { |
|
2618
|
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)) { |
|
2621
|
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)) { |
|
2623
|
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; |
|
2632
|
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) { |
|
2638
|
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) |
|
2645
|
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)) { |
|
2652
|
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)) { |
|
2665
|
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--; |
|
2667
|
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); |
|
2668
|
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) { |
|
2669
|
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; |
|
2670
|
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; |
|
2717
|
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; |
|
2748
|
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); |
|
2750
|
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); |
|
2755
|
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; |
|
2769
|
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++) { |
|
2774
|
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; |
|
2775
|
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; |
|
2777
|
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)) { |
|
2779
|
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)) { |
|
2781
|
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)) { |
|
2792
|
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)) { |
|
2802
|
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); |
|
2803
|
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) { |
|
2804
|
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) { |
|
2805
|
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) |
|
2808
|
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; |
|
2862
|
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; |
|
2894
|
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); |
|
2896
|
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); |
|
2901
|
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; |
|
2917
|
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++) { |
|
2922
|
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) { |
|
2923
|
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; |
|
2926
|
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) { |
|
2927
|
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; |
|
2930
|
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; |
|
2932
|
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)) { |
|
2934
|
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)) { |
|
2936
|
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)) { |
|
2938
|
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; |
|
2944
|
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); |
|
2945
|
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)) { |
|
2958
|
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)) { |
|
2970
|
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); |
|
2971
|
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) |
|
2981
|
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) { |
|
2988
|
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) |
|
2995
|
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)) { |
|
3002
|
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)) { |
|
3015
|
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--; |
|
3017
|
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); |
|
3018
|
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) { |
|
3020
|
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; |
|
3043
|
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); |
|
3045
|
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); |
|
3050
|
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; |
|
3064
|
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++) { |
|
3069
|
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; |
|
3070
|
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 */ |
|
3073
|
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)) { |
|
3075
|
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)) { |
|
3078
|
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)) { |
|
3089
|
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); |
|
3090
|
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)) { |
|
3135
|
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); |
|
3137
|
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); |
|
3142
|
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; |
|
3156
|
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++) { |
|
3161
|
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; |
|
3162
|
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; |
|
3164
|
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)) { |
|
3166
|
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)) { |
|
3168
|
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)) { |
|
3180
|
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) { |
|
3185
|
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)) { |
|
3195
|
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) { |
|
3229
|
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) { |
|
3230
|
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++) { |
|
3244
|
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; } |
|
3251
|
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; |
|
3258
|
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) { |
|
3261
|
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) { |
|
3262
|
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; } |
|
3269
|
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++) { |
|
3270
|
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; |
|
3271
|
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)) { |
|
3279
|
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) { |
|
3290
|
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); |
|
3291
|
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)) { |
|
3304
|
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); |
|
3306
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3309
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + vl + 1)) { |
|
3318
|
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)) { |
|
3355
|
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) { |
|
3356
|
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++) { |
|
3370
|
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; } |
|
3377
|
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; |
|
3384
|
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) { |
|
3387
|
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) { |
|
3388
|
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; } |
|
3395
|
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--) { |
|
3396
|
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; |
|
3397
|
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)) { |
|
3405
|
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) { |
|
3416
|
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); |
|
3417
|
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)) { |
|
3430
|
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); |
|
3432
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3434
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + vl + 1)) { |
|
3443
|
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)) { |
|
3491
|
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; |
|
3496
|
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; |
|
3502
|
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) { |
|
3505
|
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) { |
|
3507
|
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) { |
|
3508
|
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; } |
|
3514
|
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++) { |
|
3515
|
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; |
|
3516
|
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)) { |
|
3525
|
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; |
|
3532
|
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); |
|
3533
|
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 */ |
|
3534
|
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; |
|
3545
|
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); |
|
3546
|
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 */ |
|
3547
|
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; |
|
3562
|
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); |
|
3573
|
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) { |
|
3575
|
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++) { |
|
3581
|
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; |
|
3612
|
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 |
14 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
8 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
10 |
if (pos + 16 <= hdr->table_cap) { |
|
3615
|
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; |
|
3617
|
3 |
3 |
while (relevant) { |
|
|
0 |
1 |
while (relevant) { |
|
|
0 |
1 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
3621
|
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; } |
|
3623
|
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; } |
|
3627
|
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; |
|
3632
|
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++) { |
|
|
44 |
2 |
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++) { |
|
3637
|
2 |
8 |
if (st == SHM_EMPTY) return 0; |
|
|
2 |
5 |
if (st == SHM_EMPTY) return 0; |
|
|
2 |
6 |
if (st == SHM_EMPTY) return 0; |
|
|
4 |
40 |
if (st == SHM_EMPTY) return 0; |
|
|
3 |
5 |
if (st == SHM_EMPTY) return 0; |
|
|
3 |
7 |
if (st == SHM_EMPTY) return 0; |
|
3638
|
0 |
8 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
6 |
if (st != tag) continue; |
|
|
32 |
8 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
7 |
if (st != tag) continue; |
|
3640
|
8 |
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)) { |
|
3642
|
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)) { |
|
3659
|
0 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
3661
|
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); |
|
3665
|
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 |
8 |
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; |
|
3673
|
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) { |
|
|
8 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
8 |
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) { |
|
3677
|
4 |
4 |
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)) { |
|
3679
|
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)) { |
|
3705
|
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++) { |
|
|
34 |
2 |
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++) { |
|
3710
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
2 |
32 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
3711
|
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; |
|
|
2 |
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; |
|
3714
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
32 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
3715
|
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; |
|
3718
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
32 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
3720
|
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)) { |
|
3722
|
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)) { |
|
3725
|
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)) { |
|
3728
|
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; |
|
3734
|
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); |
|
3735
|
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) |
|
3744
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
2 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
3752
|
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 |
2 |
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) |
|
3759
|
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)) { |
|
3769
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
3771
|
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 |
2 |
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); |
|
3772
|
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 |
2 |
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) |
|
3794
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
3796
|
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); |
|
3800
|
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; |
|
3806
|
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) { |
|
3810
|
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)) { |
|
3812
|
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)) { |
|
3815
|
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)) { |
|
3818
|
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, |
|
3846
|
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++) { |
|
3851
|
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) { |
|
3852
|
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; |
|
3855
|
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) { |
|
3856
|
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; |
|
3859
|
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; |
|
3861
|
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)) { |
|
3863
|
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)) { |
|
3865
|
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)) { |
|
3868
|
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; |
|
3873
|
0 |
0 |
SHM_VAL_INT_TYPE result = |
|
|
0 |
0 |
SHM_VAL_INT_TYPE result = |
|
3875
|
2 |
2 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
3877
|
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); |
|
3878
|
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) |
|
3887
|
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) { |
|
3895
|
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) |
|
3902
|
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)) { |
|
3912
|
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--; |
|
3914
|
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); |
|
3915
|
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) |
|
3935
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
3937
|
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); |
|
3942
|
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; |
|
3956
|
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++) { |
|
3961
|
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; |
|
3962
|
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; |
|
3964
|
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)) { |
|
3966
|
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)) { |
|
3968
|
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)) { |
|
3975
|
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) { |
|
3977
|
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); |
|
3978
|
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) |
|
4010
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
4012
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4017
|
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; |
|
4031
|
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++) { |
|
4036
|
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; |
|
4037
|
0 |
9 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
4039
|
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)) { |
|
4041
|
9 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4043
|
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)) { |
|
4054
|
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) { |
|
4061
|
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, |
|
4068
|
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); |
|
4069
|
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) |
|
4086
|
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 |
27 |
if (h->shard_handles) { |
|
|
0 |
2 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
4088
|
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++) |
|
4090
|
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); |
|
4098
|
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) { |
|
4100
|
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++) |
|
4102
|
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); |
|
4111
|
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) { |
|
4113
|
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++) |
|
4115
|
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); |
|
4121
|
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]); |
|
4147
|
0 |
3 |
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); |
|
4149
|
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); |
|
4154
|
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; |
|
|
5 |
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; |
|
4167
|
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++) { |
|
|
8 |
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++) { |
|
4172
|
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 |
7 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
4173
|
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 |
7 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
4175
|
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)) { |
|
|
7 |
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)) { |
|
4177
|
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)) { |
|
4179
|
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)) { |
|
|
5 |
2 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
4 |
1 |
if (SHM_IS_EXPIRED(h, idx, now_ts)) { |
|
|
2 |
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)) { |
|
4185
|
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); |
|
4186
|
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)) { |
|
4199
|
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 |
5 |
if (h->lru_accessed) |
|
|
0 |
0 |
if (h->lru_accessed) |
|
|
0 |
0 |
if (h->lru_accessed) |
|
4201
|
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) { |
|
|
5 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
4202
|
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 |
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; |
|
4203
|
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 |
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; |
|
4225
|
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); |
|
4227
|
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); |
|
4229
|
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 */ |
|
4246
|
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++) { |
|
4251
|
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; |
|
4252
|
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 */ |
|
4254
|
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)) { |
|
4256
|
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)) { |
|
4259
|
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) { |
|
4264
|
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) { |
|
4289
|
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); |
|
4291
|
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); |
|
4293
|
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; |
|
4311
|
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++) { |
|
4316
|
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; |
|
4317
|
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; |
|
4319
|
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)) { |
|
4321
|
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)) { |
|
4323
|
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)) { |
|
4354
|
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); |
|
4356
|
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); |
|
4358
|
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; |
|
4376
|
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++) { |
|
4381
|
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; |
|
4382
|
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; |
|
4384
|
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)) { |
|
4386
|
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)) { |
|
4388
|
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)) { |
|
4397
|
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) |
|
4414
|
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) { |
|
4416
|
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++) |
|
4424
|
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) { |
|
4426
|
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++) |
|
4434
|
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) { |
|
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++) |
|
|
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++) |
|
4450
|
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) { |
|
4453
|
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++) { |
|
4456
|
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; |
|
4458
|
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; |
|
4461
|
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) { |
|
4462
|
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 */ |
|
4465
|
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; |
|
4477
|
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 */ |
|
4478
|
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 */ |
|
4479
|
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 */ |
|
4481
|
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++) { |
|
4483
|
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]) { |
|
4491
|
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); |
|
4492
|
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; |
|
4494
|
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; |
|
4498
|
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) |
|
4508
|
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) { |
|
4510
|
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++) |
|
4514
|
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; |
|
4529
|
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); |
|
4531
|
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); |
|
4533
|
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 */ |
|
4538
|
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; |
|
4551
|
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++) { |
|
4556
|
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; |
|
4557
|
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 */ |
|
4559
|
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)) { |
|
4561
|
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)) { |
|
4563
|
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)) { |
|
4572
|
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); |
|
4573
|
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) { |
|
4589
|
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) { |
|
4591
|
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++) |
|
4596
|
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; |
|
4599
|
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; |
|
4600
|
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 */ |
|
4601
|
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 */ |
|
4606
|
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) |
|
4616
|
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) { |
|
4618
|
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++) |
|
4626
|
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) { |
|
4628
|
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++) |
|
4636
|
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) { |
|
4638
|
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++) |
|
4646
|
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) { |
|
4648
|
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++) |
|
4652
|
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; |
|
4656
|
1 |
11 |
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 |
5 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4658
|
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++) |
|
|
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++) |
|
4662
|
11 |
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 |
5 |
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; |
|
4668
|
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) { |
|
4669
|
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++) |
|
4683
|
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) { |
|
4693
|
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) { |
|
4700
|
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) { |
|
4703
|
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); |
|
4709
|
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) { |
|
4720
|
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) { |
|
4722
|
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--; |
|
4730
|
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) { |
|
4731
|
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++) |
|
4736
|
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) { |
|
4738
|
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--; |
|
4760
|
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); |
|
4762
|
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); |
|
4767
|
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; |
|
4783
|
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++) { |
|
4789
|
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) { |
|
4790
|
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; |
|
4793
|
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) { |
|
4794
|
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; |
|
4797
|
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; |
|
4799
|
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)) { |
|
4801
|
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)) { |
|
4804
|
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)) { |
|
4806
|
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; |
|
4812
|
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); |
|
4813
|
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)) { |
|
4826
|
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); |
|
4827
|
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) |
|
4836
|
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) { |
|
4843
|
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) |
|
4851
|
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)) { |
|
4859
|
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)) { |
|
4867
|
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)) { |
|
4881
|
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--; |
|
4883
|
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); |
|
4884
|
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) |
|
4915
|
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) { |
|
4916
|
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) { |
|
4929
|
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; |
|
4939
|
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; |
|
4943
|
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) { |
|
4950
|
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) { |
|
4955
|
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)) { |
|
4959
|
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)) |
|
4966
|
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); |
|
4968
|
2 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
4970
|
0 |
2 |
if (total64 > UINT32_MAX) { |
|
4973
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4981
|
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)) { |
|
4984
|
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--; |
|
4996
|
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); |
|
4998
|
2 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
5002
|
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)) { |
|
5005
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
5025
|
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--; |
|
5045
|
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) { |
|
5050
|
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; |
|
5055
|
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) { |
|
5060
|
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)) { |
|
5063
|
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)) |
|
5070
|
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); |
|
5072
|
6 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
5074
|
0 |
6 |
if (total64 > UINT32_MAX) { |
|
5082
|
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)) { |
|
5094
|
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); |
|
5096
|
6 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
5100
|
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)) { |
|
5121
|
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--; |
|
5124
|
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) { |
|
5143
|
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) |
|
5148
|
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) { |