| line |
true |
false |
branch |
|
85
|
90 |
0 |
return (sum > UINT32_MAX) ? UINT32_MAX : (uint32_t)sum; |
|
108
|
0 |
445 |
if (align_end > cap) align_end = cap; |
|
109
|
907 |
93 |
for (; i < align_end; i++) { |
|
110
|
352 |
555 |
if (states[i] >= SHM_TAG_MIN) { *pos = i; return 1; } |
|
113
|
75 |
18 |
for (; i + 16 <= cap; i += 16) { |
|
118
|
75 |
0 |
if (mask) { *pos = i + __builtin_ctz(mask); return 1; } |
|
122
|
0 |
18 |
for (; i < cap; i++) { |
|
123
|
0 |
0 |
if (states[i] >= SHM_TAG_MIN) { *pos = i; return 1; } |
|
182
|
8 |
12038 |
if (utf8) lf |= SHM_UTF8_FLAG; |
|
186
|
4358 |
7688 |
if (slen > 4) { |
|
204
|
10789 |
8133 |
if (slen > 4) { |
|
216
|
10382 |
7 |
if (SHM_IS_INLINE(len_field)) { |
|
340
|
1 |
33 |
if (needed == 0) needed = 1; |
|
341
|
24 |
10 |
if (needed <= *cap) return 1; |
|
342
|
6 |
4 |
uint32_t ns = *cap ? *cap : 64; |
|
343
|
42 |
10 |
while (ns < needed) { |
|
345
|
0 |
42 |
if (next <= ns) { ns = needed; break; } /* overflow guard */ |
|
349
|
0 |
10 |
if (!nb) return 0; |
|
401
|
0 |
43 |
if (pid == 0) return 1; /* no owner recorded, assume alive */ |
|
402
|
40 |
3 |
return !(kill((pid_t)pid, 0) == -1 && errno == ESRCH); |
|
|
0 |
40 |
return !(kill((pid_t)pid, 0) == -1 && errno == ESRCH); |
|
415
|
0 |
0 |
if (!__atomic_compare_exchange_n(&hdr->rwlock, &observed_rwlock, |
|
423
|
0 |
0 |
if (seq & 1) |
|
429
|
0 |
0 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
453
|
68369 |
173 |
if (__builtin_expect(cur_gen == h->cached_fork_gen && h->my_slot_idx != UINT32_MAX, 1)) |
|
|
68369 |
0 |
if (__builtin_expect(cur_gen == h->cached_fork_gen && h->my_slot_idx != UINT32_MAX, 1)) |
|
461
|
173 |
0 |
if (cur_gen != h->cached_fork_gen) h->slotless_held = 0; /* fork: child holds none of the parent's slotless read locks */ |
|
465
|
173 |
0 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
468
|
173 |
0 |
if (__atomic_compare_exchange_n(&h->reader_slots[s].pid, |
|
488
|
0 |
19 |
if (!sub) return; |
|
491
|
17 |
2 |
uint32_t want = (cur > sub) ? cur - sub : 0; |
|
492
|
19 |
0 |
if (__atomic_compare_exchange_n(p, &cur, want, |
|
516
|
0 |
16 |
if (!__atomic_compare_exchange_n(&h->reader_slots[i].pid, &expected, 0, |
|
522
|
15 |
1 |
if (wp) { shm_atomic_sub_cap(&hdr->rwlock_waiters, wp); drained = 1; } |
|
523
|
4 |
12 |
if (writp) { shm_atomic_sub_cap(&hdr->rwlock_writers_waiting, writp); drained = 1; } |
|
538
|
0 |
1 |
if (!h->reader_slots) return; |
|
552
|
1024 |
1 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
554
|
1007 |
17 |
if (pid == 0) continue; |
|
556
|
1 |
16 |
if (shm_pid_alive(pid)) { |
|
557
|
0 |
1 |
if (sc > 0) any_live_reader = 1; |
|
560
|
12 |
4 |
if (sc > 0) { found_dead_reader = 1; continue; } |
|
561
|
4 |
0 |
if (shm_drain_dead_slot(h, i, pid)) any_recovery = 1; |
|
579
|
0 |
1 |
if (__atomic_load_n(&hdr->slotless_readers, __ATOMIC_RELAXED) > 0) |
|
581
|
1 |
0 |
if (found_dead_reader && !any_live_reader) { |
|
|
1 |
0 |
if (found_dead_reader && !any_live_reader) { |
|
585
|
1 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
|
1 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
588
|
1025 |
0 |
for (uint32_t i = 0; !live_now && i < SHM_READER_SLOTS; i++) { |
|
|
1024 |
1 |
for (uint32_t i = 0; !live_now && i < SHM_READER_SLOTS; i++) { |
|
590
|
13 |
1011 |
if (p && shm_pid_alive(p) && |
|
|
1 |
12 |
if (p && shm_pid_alive(p) && |
|
591
|
0 |
1 |
__atomic_load_n(&h->reader_slots[i].subcount, __ATOMIC_RELAXED) > 0) |
|
594
|
0 |
1 |
if (live_now) { |
|
596
|
1 |
0 |
} else if (__atomic_compare_exchange_n(&hdr->rwlock, &cur, 0, |
|
599
|
1 |
0 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
605
|
1 |
0 |
if (drain_ok) { |
|
606
|
1024 |
1 |
for (uint32_t i = 0; i < SHM_READER_SLOTS; i++) { |
|
608
|
13 |
1011 |
if (p == 0 || shm_pid_alive(p)) continue; |
|
|
1 |
12 |
if (p == 0 || shm_pid_alive(p)) continue; |
|
609
|
11 |
1 |
if (shm_drain_dead_slot(h, i, p)) any_recovery = 1; |
|
613
|
1 |
0 |
if (any_recovery) |
|
626
|
0 |
1 |
if (val >= SHM_RWLOCK_WRITER_BIT) { |
|
628
|
0 |
0 |
if (!shm_pid_alive(pid)) |
|
640
|
0 |
0 |
if (h->my_slot_idx != UINT32_MAX) |
|
646
|
0 |
0 |
if (h->my_slot_idx != UINT32_MAX) |
|
650
|
1 |
0 |
if (h->my_slot_idx != UINT32_MAX) { |
|
660
|
1 |
0 |
if (h->my_slot_idx != UINT32_MAX) { |
|
672
|
10161 |
0 |
if (h->my_slot_idx != UINT32_MAX) { |
|
680
|
0 |
10161 |
if (h->slotless_held > 0) { |
|
683
|
10161 |
0 |
} else if (h->my_slot_idx != UINT32_MAX) { |
|
706
|
0 |
10161 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
|
0 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
707
|
0 |
0 |
if (__atomic_compare_exchange_n(lock, &cur, cur + 1, |
|
710
|
10161 |
0 |
} else if (cur == 0 && !__atomic_load_n(writers_waiting, __ATOMIC_RELAXED)) { |
|
|
10161 |
0 |
} else if (cur == 0 && !__atomic_load_n(writers_waiting, __ATOMIC_RELAXED)) { |
|
711
|
10161 |
0 |
if (__atomic_compare_exchange_n(lock, &cur, 1, |
|
715
|
0 |
0 |
if (__builtin_expect(spin < SHM_RWLOCK_SPIN_LIMIT, 1)) { |
|
722
|
0 |
0 |
if (cur >= SHM_RWLOCK_WRITER_BIT || cur == 0) { |
|
|
0 |
0 |
if (cur >= SHM_RWLOCK_WRITER_BIT || cur == 0) { |
|
725
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
746
|
10161 |
0 |
if (prev == 0 && __atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
|
0 |
10161 |
if (prev == 0 && __atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
759
|
58381 |
33 |
if (__atomic_compare_exchange_n(lock, &expected, mypid, |
|
762
|
32 |
1 |
if (__builtin_expect(spin < SHM_RWLOCK_SPIN_LIMIT, 1)) { |
|
768
|
1 |
0 |
if (cur != 0) { |
|
771
|
1 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
|
1 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
786
|
0 |
58381 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
797
|
16807 |
0 |
if (__builtin_expect((s & 1) == 0, 1)) return s; |
|
798
|
0 |
0 |
if (__builtin_expect(spin < 100000, 1)) { |
|
805
|
0 |
0 |
if (val >= SHM_RWLOCK_WRITER_BIT) { |
|
807
|
0 |
0 |
if (!shm_pid_alive(pid)) { |
|
842
|
1616 |
7016 |
if (len < SHM_ARENA_MIN_ALLOC) return SHM_ARENA_MIN_ALLOC; |
|
847
|
1816 |
6816 |
if (alloc_size <= SHM_ARENA_MIN_ALLOC) return 0; |
|
848
|
0 |
6816 |
if (alloc_size > (SHM_ARENA_MIN_ALLOC << (SHM_ARENA_NUM_CLASSES - 1))) return -1; |
|
856
|
4328 |
0 |
if (cls >= 0 && hdr->arena_free[cls] != 0) { |
|
|
0 |
4328 |
if (cls >= 0 && hdr->arena_free[cls] != 0) { |
|
863
|
0 |
4328 |
if (cls < 0) { |
|
866
|
0 |
0 |
while (cur != 0) { |
|
870
|
0 |
0 |
if (blk >= asize) { |
|
871
|
0 |
0 |
if (prev == 0) hdr->arena_large_free = next; |
|
880
|
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) |
|
890
|
0 |
4304 |
if (off == 0) return; |
|
891
|
0 |
4304 |
if (cls < 0) { |
|
910
|
12046 |
4328 |
if (slen <= SHM_INLINE_MAX) { |
|
915
|
3 |
4325 |
if (aoff == 0 && slen > 0) return 0; |
|
|
3 |
0 |
if (aoff == 0 && slen > 0) return 0; |
|
918
|
0 |
4325 |
*len_field = SHM_PACK_LEN(slen, utf8); |
|
925
|
4304 |
11790 |
if (!SHM_IS_INLINE(len_field)) |
|
932
|
32 |
0 |
if (SHM_IS_INLINE(len_field)) { |
|
934
|
0 |
0 |
} else if ((uint64_t)off + len <= arena_cap) { |
|
949
|
0 |
7215 |
if (v < 2) return 2; |
|
950
|
0 |
7215 |
if (v > 0x80000000U) return 0; /* overflow: no valid power of 2 */ |
|
962
|
194 |
0 |
uint32_t cap = (want > 0x80000000ULL) ? 0x80000000U : shm_next_pow2((uint32_t)want); |
|
970
|
0 |
191 |
if (lru_skip == 0 || lru_skip >= 100) return 0; |
|
|
0 |
0 |
if (lru_skip == 0 || lru_skip >= 100) return 0; |
|
973
|
0 |
0 |
while (p < interval) p <<= 1; |
|
984
|
10 |
0 |
if (p != SHM_LRU_NONE) next[p] = n; |
|
986
|
0 |
10 |
if (n != SHM_LRU_NONE) prev[n] = p; |
|
995
|
490 |
0 |
if (h->lru_accessed) __atomic_store_n(&h->lru_accessed[idx], 0, __ATOMIC_RELAXED); /* clear stale clock bit */ |
|
998
|
468 |
22 |
if (hdr->lru_head != SHM_LRU_NONE) prev[hdr->lru_head] = idx; |
|
1005
|
3 |
2 |
if (hdr->lru_head == idx) return; |
|
1009
|
0 |
2 |
if (hdr->lru_skip > 0 && idx != hdr->lru_tail) { |
|
|
0 |
0 |
if (hdr->lru_skip > 0 && idx != hdr->lru_tail) { |
|
1011
|
0 |
0 |
if ((++promote_ctr & hdr->lru_skip) != 0) |
|
1029
|
0 |
0 |
if (!h->lru_prev) return; /* LRU disabled */ |
|
1037
|
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) || |
|
1038
|
0 |
0 |
(tail != SHM_LRU_NONE && tail >= cap)) { |
|
1043
|
0 |
0 |
while (idx != SHM_LRU_NONE) { |
|
1044
|
0 |
0 |
if (idx >= cap || !SHM_IS_LIVE(h->states[idx]) || |
|
|
0 |
0 |
if (idx >= cap || !SHM_IS_LIVE(h->states[idx]) || |
|
1045
|
0 |
0 |
h->lru_prev[idx] != prev_idx) { corrupt = 1; break; } |
|
1048
|
0 |
0 |
if (++chain_len > cap) { corrupt = 1; break; } /* cycle */ |
|
1050
|
0 |
0 |
if (!corrupt && prev_idx != tail) corrupt = 1; |
|
|
0 |
0 |
if (!corrupt && prev_idx != tail) corrupt = 1; |
|
1059
|
0 |
0 |
if (!corrupt) { |
|
1060
|
0 |
0 |
for (uint32_t i = 0; i < cap; i++) |
|
1061
|
0 |
0 |
if (SHM_IS_LIVE(h->states[i])) live_count++; |
|
1062
|
0 |
0 |
if (chain_len != live_count) corrupt = 1; |
|
1064
|
0 |
0 |
if (!corrupt) return; |
|
1068
|
0 |
0 |
if (h->lru_accessed) memset(h->lru_accessed, 0, cap); |
|
1073
|
0 |
0 |
for (uint32_t i = 0; i < cap; i++) { |
|
1075
|
0 |
0 |
if (st == SHM_TOMBSTONE) { tomb_count++; continue; } |
|
1076
|
0 |
0 |
if (!SHM_IS_LIVE(st)) continue; |
|
1078
|
0 |
0 |
if (prev != SHM_LRU_NONE) h->lru_next[prev] = i; |
|
1117
|
22 |
84 |
if (want < 4096) return 4096; |
|
1118
|
0 |
84 |
if (want > UINT32_MAX) return UINT32_MAX; |
|
1141
|
13 |
185 |
if (has_lru) { |
|
1147
|
39 |
159 |
if (has_ttl) { |
|
1156
|
106 |
92 |
if (has_arena) { |
|
1159
|
94 |
12 |
: (uint64_t)max_entries * 128; |
|
1185
|
100 |
91 |
hdr->arena_off = has_arena ? lo->arena_off : 0; |
|
1194
|
13 |
178 |
if (has_lru) { |
|
1199
|
39 |
152 |
if (has_ttl) |
|
1212
|
5 |
0 |
hdr->version == SHM_VERSION && |
|
1213
|
4 |
1 |
hdr->variant_id == variant_id && |
|
1214
|
4 |
0 |
hdr->node_size == node_size && |
|
1215
|
4 |
0 |
hdr->nodes_off >= sizeof(ShmHeader) && |
|
1216
|
4 |
0 |
hdr->states_off > hdr->nodes_off && |
|
1217
|
4 |
0 |
hdr->states_off < hdr->total_size && |
|
1218
|
3 |
1 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
|
3 |
0 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
1219
|
3 |
0 |
hdr->arena_off + hdr->arena_cap <= hdr->total_size && |
|
1220
|
3 |
0 |
hdr->arena_bump <= hdr->arena_cap && |
|
1221
|
3 |
0 |
hdr->arena_bump >= SHM_ARENA_MIN_ALLOC)) && |
|
1222
|
4 |
0 |
hdr->max_table_cap > 0 && |
|
1223
|
4 |
0 |
(hdr->max_table_cap & (hdr->max_table_cap - 1)) == 0 && |
|
1224
|
4 |
0 |
hdr->table_cap > 0 && |
|
1225
|
4 |
0 |
(hdr->table_cap & (hdr->table_cap - 1)) == 0 && |
|
1226
|
4 |
0 |
hdr->table_cap <= hdr->max_table_cap && |
|
1227
|
4 |
0 |
hdr->states_off + hdr->max_table_cap <= hdr->total_size && |
|
1228
|
4 |
0 |
hdr->nodes_off + (uint64_t)hdr->max_table_cap * hdr->node_size <= hdr->states_off && |
|
1229
|
4 |
0 |
hdr->size <= hdr->table_cap && |
|
1230
|
5 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
|
4 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
1231
|
0 |
4 |
(!hdr->max_size || |
|
1232
|
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) && |
|
1233
|
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)))); |
|
1243
|
0 |
1 |
if (!errbuf) return; |
|
1244
|
0 |
1 |
if (hdr->magic != SHM_MAGIC) |
|
1246
|
0 |
1 |
else if (hdr->version != SHM_VERSION) |
|
1249
|
1 |
0 |
else if (hdr->variant_id != variant_id) |
|
1267
|
0 |
4 |
if (lo->end_off > mapped_size) { |
|
1268
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, |
|
1273
|
4 |
0 |
if (!rs_off || rs_off < lo->end_off || |
|
|
4 |
0 |
if (!rs_off || rs_off < lo->end_off || |
|
1274
|
0 |
4 |
rs_off + SHM_READER_SLOTS * sizeof(ShmReaderSlot) > mapped_size) { |
|
1275
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, |
|
1292
|
0 |
195 |
if (!h) { |
|
1293
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "calloc: out of memory"); |
|
1295
|
0 |
0 |
if (backing_fd >= 0) close(backing_fd); |
|
1301
|
103 |
92 |
h->arena = hdr->arena_off ? (char *)hdr + hdr->arena_off : NULL; |
|
1302
|
13 |
182 |
h->lru_prev = has_lru ? (uint32_t *)((char *)hdr + lo->lru_prev_off) : NULL; |
|
1303
|
13 |
182 |
h->lru_next = has_lru ? (uint32_t *)((char *)hdr + lo->lru_next_off) : NULL; |
|
1304
|
13 |
182 |
h->lru_accessed = has_lru ? (uint8_t *)((char *)hdr + lo->lru_accessed_off) : NULL; |
|
1305
|
39 |
156 |
h->expires_at = has_ttl ? (uint32_t *)((char *)hdr + lo->expires_off) : NULL; |
|
1318
|
176 |
19 |
if (path) { |
|
1320
|
0 |
176 |
if (!h->path) { |
|
1321
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "strdup: out of memory"); |
|
1323
|
0 |
0 |
if (backing_fd >= 0) close(backing_fd); |
|
1329
|
103 |
92 |
if (has_arena) { |
|
1331
|
103 |
0 |
if (h->copy_buf) h->copy_buf_size = 256; |
|
1341
|
177 |
0 |
for (int attempt = 0; attempt < 100; attempt++) { |
|
1343
|
174 |
3 |
if (fd >= 0) { (void)fchmod(fd, file_mode); return fd; } /* exact mode: umask narrowed the O_EXCL create */ |
|
1344
|
0 |
3 |
if (errno != EEXIST) { |
|
1345
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "create(%s): %s", path, strerror(errno)); |
|
1349
|
3 |
0 |
if (fd >= 0) return fd; |
|
1350
|
0 |
0 |
if (errno == ENOENT) continue; /* creator unlinked between our two opens; retry */ |
|
1351
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "open(%s): %s", path, strerror(errno)); |
|
1354
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "open(%s): create/attach kept racing", path); |
|
1363
|
189 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1380
|
12 |
177 |
if (anonymous) { |
|
1383
|
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; } |
|
1387
|
0 |
177 |
if (fd < 0) return NULL; |
|
1389
|
0 |
177 |
while (flock(fd, LOCK_EX) < 0) { |
|
1390
|
0 |
0 |
if (errno == EINTR) continue; /* retry: a signal interrupted the blocking lock */ |
|
1391
|
0 |
0 |
SHM_ERR("flock(%s): %s", path, strerror(errno)); close(fd); return NULL; |
|
1394
|
0 |
177 |
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; } |
|
1398
|
3 |
174 |
if (!is_new && (uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
|
0 |
3 |
if (!is_new && (uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
1399
|
0 |
0 |
SHM_ERR("%s: file too small (%lld bytes, need %zu)", path, |
|
1404
|
174 |
3 |
if (is_new) { |
|
1405
|
0 |
174 |
if (ftruncate(fd, (off_t)lo.total_size) < 0) { |
|
1406
|
0 |
0 |
SHM_ERR("ftruncate(%s, %llu): %s", path, (unsigned long long)lo.total_size, strerror(errno)); |
|
1411
|
174 |
3 |
base = mmap(NULL, is_new ? lo.total_size : (size_t)st.st_size, |
|
1413
|
0 |
177 |
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; } |
|
1417
|
186 |
3 |
uint64_t mapped_size = is_new ? lo.total_size : (uint64_t)st.st_size; |
|
1419
|
186 |
3 |
if (is_new) { |
|
1425
|
2 |
1 |
if (ok) { |
|
1432
|
1 |
2 |
if (!ok) { |
|
1439
|
176 |
12 |
if (fd >= 0) { flock(fd, LOCK_UN); close(fd); } |
|
1452
|
5 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1461
|
5 |
0 |
int fd = memfd_create(name ? name : "hashmap", MFD_CLOEXEC | MFD_ALLOW_SEALING); |
|
1462
|
0 |
5 |
if (fd < 0) { |
|
1463
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "memfd_create: %s", strerror(errno)); |
|
1466
|
0 |
5 |
if (ftruncate(fd, (off_t)lo.total_size) < 0) { |
|
1467
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "ftruncate: %s", strerror(errno)); |
|
1472
|
0 |
5 |
if (base == MAP_FAILED) { |
|
1473
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "mmap: %s", strerror(errno)); |
|
1487
|
3 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1489
|
0 |
3 |
if (fstat(fd, &st) < 0) { |
|
1490
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fstat: %s", strerror(errno)); |
|
1493
|
1 |
2 |
if ((uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
1494
|
1 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fd: file too small for header"); |
|
1499
|
0 |
2 |
if (base == MAP_FAILED) { |
|
1500
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "mmap: %s", strerror(errno)); |
|
1516
|
0 |
2 |
if (!shm_validate_layout_regions(&lo, hdr, has_arena, hdr->total_size, errbuf, "fd")) { |
|
1522
|
0 |
2 |
if (myfd < 0) { |
|
1523
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fcntl: %s", strerror(errno)); |
|
1532
|
0 |
1 |
if (!h) return 0; |
|
1533
|
0 |
1 |
if (h->shard_handles) { |
|
1534
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
1538
|
0 |
0 |
while (rc != 0 && errno == EINTR); /* retry on signal interruption */ |
|
|
0 |
0 |
while (rc != 0 && errno == EINTR); /* retry on signal interruption */ |
|
1539
|
0 |
0 |
if (rc != 0) return rc; |
|
1543
|
0 |
1 |
if (!h->hdr) return 0; |
|
1546
|
0 |
1 |
while (rc != 0 && errno == EINTR); |
|
|
0 |
0 |
while (rc != 0 && errno == EINTR); |
|
1551
|
0 |
199 |
if (!h) return; |
|
1552
|
4 |
195 |
if (h->shard_handles) { |
|
1554
|
16 |
4 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
1567
|
195 |
0 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
|
173 |
22 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
|
173 |
0 |
if (h->reader_slots && h->my_slot_idx != UINT32_MAX && h->cached_pid && |
|
1568
|
173 |
0 |
h->cached_fork_gen == __atomic_load_n(&shm_fork_gen, __ATOMIC_RELAXED) && |
|
1569
|
173 |
0 |
__atomic_load_n(&h->reader_slots[h->my_slot_idx].subcount, __ATOMIC_ACQUIRE) == 0) { |
|
1579
|
195 |
0 |
if (h->hdr) munmap(h->hdr, h->mmap_size); |
|
1580
|
7 |
188 |
if (h->backing_fd >= 0) close(h->backing_fd); |
|
1593
|
1 |
4 |
if (!path_prefix) { |
|
1594
|
1 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "new_sharded requires a path_prefix"); |
|
1599
|
8 |
4 |
while (ns < num_shards) ns <<= 1; |
|
1603
|
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; } |
|
1606
|
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; } |
|
1612
|
0 |
4 |
if (!h->path) { |
|
1613
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "strdup: out of memory"); |
|
1619
|
16 |
4 |
for (uint32_t i = 0; i < num_shards; i++) { |
|
1622
|
16 |
0 |
if (sn < 0 || sn >= (int)sizeof(shard_path)) { |
|
|
0 |
16 |
if (sn < 0 || sn >= (int)sizeof(shard_path)) { |
|
1623
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "shard path too long"); |
|
1624
|
0 |
0 |
for (uint32_t j = 0; j < i; j++) |
|
1634
|
0 |
16 |
if (!h->shard_handles[i]) { |
|
1636
|
0 |
0 |
for (uint32_t j = 0; j < i; j++) |
|
1653
|
1 |
0 |
if (!h->shard_handles) { |
|
1654
|
1 |
0 |
if (!h->path) return 0; |
|
1658
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
1659
|
0 |
0 |
if (h->shard_handles[i] && h->shard_handles[i]->path) { |
|
|
0 |
0 |
if (h->shard_handles[i] && h->shard_handles[i]->path) { |
|
1660
|
0 |
0 |
if (unlink(h->shard_handles[i]->path) != 0) ok = 0; |
|
1668
|
0 |
16 |
if (!c) return NULL; |
|
1670
|
1 |
15 |
if (h->shard_handles) { |
|
1685
|
0 |
16 |
if (!c) return; |
|
1687
|
5 |
11 |
if (cur && cur->iterating > 0) |
|
|
5 |
0 |
if (cur && cur->iterating > 0) |
|
1753
|
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)) { |
|
1754
|
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; |
|
1759
|
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; |
|
1830
|
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])) |
|
|
8774 |
23489 |
while (SHM_IS_LIVE(states[pos])) |
|
|
764 |
2042 |
while (SHM_IS_LIVE(states[pos])) |
|
|
0 |
0 |
while (SHM_IS_LIVE(states[pos])) |
|
1861
|
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 |
16835 |
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); |
|
1862
|
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 |
16806 |
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; |
|
1873
|
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) { |
|
1874
|
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)) { |
|
1881
|
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; |
|
1886
|
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; |
|
1891
|
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()); |
|
1893
|
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 |
|
1921
|
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); |
|
|
59 |
10 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
3 |
56 |
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); |
|
1923
|
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) { |
|
|
65 |
4 |
if (live > 0) { |
|
|
8 |
0 |
if (live > 0) { |
|
|
0 |
0 |
if (live > 0) { |
|
1925
|
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 |
65 |
if (!saved) return 0; |
|
|
0 |
8 |
if (!saved) return 0; |
|
|
0 |
0 |
if (!saved) return 0; |
|
1927
|
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 |
53 |
if (need_mapping) { |
|
|
0 |
8 |
if (need_mapping) { |
|
|
0 |
0 |
if (need_mapping) { |
|
1930
|
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) { |
|
1937
|
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 |
55 |
if (h->lru_prev) { |
|
|
0 |
8 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
1939
|
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) { |
|
1944
|
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) { |
|
1950
|
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 |
63 |
if (h->expires_at) { |
|
|
0 |
8 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
1952
|
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) { |
|
1960
|
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++) { |
|
|
54124 |
51 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
54110 |
14 |
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++) { |
|
1961
|
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])) { |
|
|
23489 |
30621 |
if (SHM_IS_LIVE(states[i])) { |
|
|
2042 |
2038 |
if (SHM_IS_LIVE(states[i])) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i])) { |
|
1963
|
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 |
23201 |
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; |
|
1975
|
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 |
59 |
if (h->lru_prev) { |
|
|
0 |
8 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
1978
|
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); |
|
1982
|
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 |
66 |
if (h->expires_at) { |
|
|
0 |
8 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
1986
|
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++) { |
|
|
23489 |
69 |
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++) { |
|
1988
|
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 |
23201 |
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; |
|
1993
|
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 |
59 |
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) { |
|
1994
|
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++) { |
|
1996
|
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) |
|
2002
|
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 |
66 |
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) { |
|
2003
|
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++) { |
|
2005
|
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) |
|
2010
|
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 |
56 |
if (new_cap < old_cap) { |
|
|
1 |
7 |
if (new_cap < old_cap) { |
|
|
0 |
0 |
if (new_cap < old_cap) { |
|
2030
|
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)) { |
|
|
74 |
22340 |
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)) { |
|
2036
|
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 */ |
|
|
52 |
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 */ |
|
2038
|
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) |
|
2040
|
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)) { |
|
|
22340 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
22340 |
} 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)) { |
|
2041
|
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; } |
|
2048
|
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 |
16789 |
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; |
|
2049
|
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 |
16636 |
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)) { |
|
2050
|
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; } |
|
2052
|
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; |
|
2058
|
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; |
|
2064
|
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) { |
|
2065
|
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 */ |
|
2067
|
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) |
|
2069
|
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) { |
|
2071
|
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; |
|
2073
|
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) { |
|
2113
|
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 |
19853 |
if (h->expires_at) { |
|
|
0 |
1014 |
if (h->expires_at) { |
|
|
2 |
10 |
if (h->expires_at) { |
|
2114
|
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; |
|
2115
|
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) |
|
2120
|
32220 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
25 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
22 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
11 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
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++) { |
|
|
64783 |
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++) { |
|
2126
|
8113 |
24107 |
if (st == SHM_EMPTY) { |
|
|
22 |
3 |
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) { |
|
|
16322 |
48461 |
if (st == SHM_EMPTY) { |
|
|
1014 |
2352 |
if (st == SHM_EMPTY) { |
|
|
12 |
2 |
if (st == SHM_EMPTY) { |
|
2127
|
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; |
|
|
12146 |
4176 |
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; |
|
2130
|
3000 |
21107 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
3 |
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) { |
|
|
4968 |
43493 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2352 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
2131
|
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; |
|
|
4393 |
575 |
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; |
|
2135
|
20964 |
143 |
if (st != tag) continue; |
|
|
3 |
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; |
|
|
39687 |
3806 |
if (st != tag) continue; |
|
|
2345 |
7 |
if (st != tag) continue; |
|
|
2 |
0 |
if (st != tag) continue; |
|
2137
|
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)) { |
|
|
3572 |
234 |
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)) { |
|
2139
|
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)) { |
|
2146
|
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)) |
|
2153
|
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 |
3572 |
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); |
|
2154
|
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 |
3572 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
2155
|
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) |
|
2162
|
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 |
16322 |
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; |
|
2165
|
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 |
16096 |
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) |
|
2174
|
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)) |
|
2179
|
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)) { |
|
2191
|
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--; |
|
|
4176 |
12146 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1014 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
12 |
if (was_tombstone) hdr->tombstones--; |
|
2193
|
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 |
16096 |
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); |
|
2194
|
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 |
16276 |
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; |
|
2213
|
0 |
13 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
16 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
250 |
19629 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1014 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
12 |
SHM_SHARD_DISPATCH(h, key); |
|
2215
|
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); |
|
2275
|
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; |
|
2305
|
0 |
14 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
16578 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
9 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
11 |
SHM_SHARD_DISPATCH(h, key); |
|
2307
|
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); |
|
2345
|
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) { |
|
|
179 |
16399 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
3 |
if (pos + 16 <= hdr->table_cap) { |
|
2349
|
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; |
|
|
15582 |
817 |
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; |
|
2351
|
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) { |
|
|
14760 |
1684 |
while (relevant) { |
|
|
1 |
0 |
while (relevant) { |
|
|
2 |
1 |
while (relevant) { |
|
2356
|
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)) { |
|
|
14715 |
45 |
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)) { |
|
2360
|
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); |
|
2362
|
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; |
|
2363
|
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)) { |
|
2366
|
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; |
|
2369
|
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; |
|
2370
|
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; |
|
2377
|
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); |
|
2391
|
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 */ |
|
|
1635 |
49 |
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 */ |
|
2396
|
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) { |
|
|
1863 |
14715 |
if (!found) { |
|
|
8 |
1 |
if (!found) { |
|
|
9 |
2 |
if (!found) { |
|
2397
|
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++) { |
|
|
6687 |
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++) { |
|
2403
|
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; |
|
|
1714 |
4973 |
if (st == SHM_EMPTY) break; |
|
|
0 |
9 |
if (st == SHM_EMPTY) break; |
|
|
1 |
11 |
if (st == SHM_EMPTY) break; |
|
2404
|
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; |
|
|
4819 |
154 |
if (st != tag) continue; |
|
|
1 |
8 |
if (st != tag) continue; |
|
|
3 |
8 |
if (st != tag) continue; |
|
2407
|
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)) { |
|
|
149 |
5 |
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)) { |
|
2412
|
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); |
|
2413
|
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; |
|
2415
|
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)) { |
|
2418
|
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; |
|
2420
|
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; |
|
2421
|
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; |
|
2428
|
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); |
|
2440
|
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) { |
|
|
14864 |
1714 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
10 |
1 |
if (found) { |
|
2442
|
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 |
14858 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
|
1 |
9 |
if (h->expires_at) { |
|
2444
|
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) { |
|
2450
|
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) { |
|
|
14863 |
1715 |
if (found) { |
|
|
9 |
0 |
if (found) { |
|
|
10 |
1 |
if (found) { |
|
2452
|
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)) { |
|
2454
|
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) { |
|
2455
|
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; |
|
2461
|
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; |
|
2462
|
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) { |
|
2463
|
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; |
|
2469
|
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 |
14863 |
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; |
|
2472
|
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 |
14862 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
|
0 |
10 |
if (h->lru_accessed) |
|
2484
|
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 |
1715 |
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; |
|
2499
|
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); |
|
2501
|
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); |
|
2519
|
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++) { |
|
2524
|
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; |
|
2525
|
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 */ |
|
2527
|
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)) { |
|
2529
|
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)) { |
|
2531
|
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); |
|
2551
|
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); |
|
2553
|
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); |
|
2556
|
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) { |
|
2582
|
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++) { |
|
2587
|
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; |
|
2588
|
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 */ |
|
2590
|
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)) { |
|
2592
|
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; |
|
2600
|
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; |
|
2627
|
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++) { |
|
|
28765 |
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++) { |
|
2632
|
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; |
|
|
1249 |
27516 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
590 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
2633
|
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; |
|
|
10693 |
16823 |
if (st != tag) continue; |
|
|
90 |
500 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
2635
|
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)) { |
|
|
16799 |
24 |
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)) { |
|
2637
|
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)) { |
|
2654
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
18045 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
500 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
2656
|
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); |
|
2668
|
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); |
|
|
16797 |
1248 |
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); |
|
2690
|
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); |
|
2692
|
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); |
|
2697
|
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; |
|
2713
|
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++) { |
|
2718
|
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) { |
|
2719
|
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; |
|
2722
|
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) { |
|
2723
|
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; |
|
2726
|
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; |
|
2728
|
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)) { |
|
2730
|
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)) { |
|
2733
|
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)) { |
|
2735
|
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; |
|
2744
|
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) { |
|
2750
|
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) |
|
2757
|
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)) { |
|
2764
|
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)) { |
|
2777
|
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--; |
|
2779
|
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); |
|
2780
|
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) { |
|
2781
|
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; |
|
2782
|
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; |
|
2829
|
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; |
|
2860
|
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); |
|
2862
|
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); |
|
2867
|
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; |
|
2881
|
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++) { |
|
2886
|
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; |
|
2887
|
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; |
|
2889
|
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)) { |
|
2891
|
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)) { |
|
2893
|
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)) { |
|
2904
|
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)) { |
|
2914
|
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); |
|
2915
|
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) { |
|
2916
|
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) { |
|
2917
|
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) |
|
2920
|
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; |
|
2974
|
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; |
|
3006
|
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); |
|
3008
|
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); |
|
3013
|
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; |
|
3029
|
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++) { |
|
3034
|
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) { |
|
3035
|
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; |
|
3038
|
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) { |
|
3039
|
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; |
|
3042
|
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; |
|
3044
|
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)) { |
|
3046
|
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)) { |
|
3048
|
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)) { |
|
3050
|
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; |
|
3056
|
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); |
|
3057
|
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)) { |
|
3070
|
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)) { |
|
3082
|
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); |
|
3083
|
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) |
|
3093
|
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) { |
|
3100
|
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) |
|
3107
|
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)) { |
|
3114
|
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)) { |
|
3127
|
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--; |
|
3129
|
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); |
|
3130
|
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) { |
|
3132
|
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; |
|
3155
|
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); |
|
3157
|
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); |
|
3162
|
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; |
|
3176
|
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++) { |
|
3181
|
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; |
|
3182
|
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 */ |
|
3185
|
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)) { |
|
3187
|
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)) { |
|
3190
|
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)) { |
|
3201
|
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); |
|
3202
|
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)) { |
|
3247
|
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); |
|
3249
|
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); |
|
3254
|
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; |
|
3268
|
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++) { |
|
3273
|
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; |
|
3274
|
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; |
|
3276
|
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)) { |
|
3278
|
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)) { |
|
3280
|
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)) { |
|
3292
|
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) { |
|
3297
|
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)) { |
|
3307
|
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) { |
|
3341
|
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) { |
|
3342
|
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++) { |
|
3356
|
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; } |
|
3363
|
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; |
|
3370
|
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) { |
|
3373
|
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) { |
|
3374
|
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; } |
|
3381
|
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++) { |
|
3382
|
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; |
|
3383
|
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)) { |
|
3391
|
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) { |
|
3402
|
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); |
|
3403
|
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)) { |
|
3416
|
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); |
|
3418
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3421
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + vl + 1)) { |
|
3430
|
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)) { |
|
3467
|
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) { |
|
3468
|
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++) { |
|
3482
|
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; } |
|
3489
|
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 (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) { |
|
3499
|
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) { |
|
3500
|
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; } |
|
3507
|
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--) { |
|
3508
|
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; |
|
3509
|
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)) { |
|
3517
|
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) { |
|
3528
|
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); |
|
3529
|
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)) { |
|
3542
|
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); |
|
3544
|
0 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3546
|
0 |
0 |
if (!shm_ensure_copy_buf(h, kl + vl + 1)) { |
|
3555
|
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)) { |
|
3603
|
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; |
|
3608
|
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; |
|
3614
|
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) { |
|
3617
|
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) { |
|
3619
|
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) { |
|
3620
|
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; } |
|
3626
|
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++) { |
|
3627
|
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; |
|
3628
|
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)) { |
|
3637
|
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; |
|
3644
|
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); |
|
3645
|
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 */ |
|
3646
|
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; |
|
3657
|
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); |
|
3658
|
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 */ |
|
3659
|
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; |
|
3674
|
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); |
|
3685
|
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) { |
|
3687
|
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++) { |
|
3693
|
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; |
|
3724
|
6 |
10 |
if (pos + 16 <= hdr->table_cap) { |
|
|
1 |
7 |
if (pos + 16 <= hdr->table_cap) { |
|
|
1 |
8 |
if (pos + 16 <= hdr->table_cap) { |
|
|
9408 |
188 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
8 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
10 |
if (pos + 16 <= hdr->table_cap) { |
|
3727
|
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; |
|
|
9230 |
178 |
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; |
|
3729
|
3 |
3 |
while (relevant) { |
|
|
0 |
1 |
while (relevant) { |
|
|
0 |
1 |
while (relevant) { |
|
|
7019 |
2417 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
3733
|
6991 |
28 |
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; } |
|
3735
|
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; } |
|
3739
|
3 |
0 |
if (emask) return 0; |
|
|
1 |
0 |
if (emask) return 0; |
|
|
1 |
0 |
if (emask) return 0; |
|
|
2378 |
39 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
3744
|
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++) { |
|
|
591 |
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++) { |
|
3749
|
2 |
8 |
if (st == SHM_EMPTY) return 0; |
|
|
2 |
5 |
if (st == SHM_EMPTY) return 0; |
|
|
2 |
6 |
if (st == SHM_EMPTY) return 0; |
|
|
108 |
483 |
if (st == SHM_EMPTY) return 0; |
|
|
3 |
5 |
if (st == SHM_EMPTY) return 0; |
|
|
3 |
7 |
if (st == SHM_EMPTY) return 0; |
|
3750
|
0 |
8 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
6 |
if (st != tag) continue; |
|
|
366 |
117 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
7 |
if (st != tag) continue; |
|
3752
|
117 |
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)) { |
|
3754
|
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)) { |
|
3771
|
0 |
4775 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
3773
|
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); |
|
3777
|
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 |
4775 |
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; |
|
3785
|
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) { |
|
|
4775 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
4775 |
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) { |
|
3789
|
3539 |
1236 |
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)) { |
|
3791
|
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)) { |
|
3817
|
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++) { |
|
|
4963 |
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++) { |
|
3822
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1234 |
3729 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
3823
|
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; |
|
|
194 |
1040 |
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; |
|
3826
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
1545 |
2184 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
3827
|
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; |
|
|
1040 |
505 |
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; |
|
3830
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
2174 |
10 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
3832
|
0 |
10 |
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)) { |
|
3834
|
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)) { |
|
3837
|
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)) { |
|
3840
|
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; |
|
3846
|
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); |
|
3847
|
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) |
|
3856
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
2 |
1234 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
3864
|
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 |
1234 |
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) |
|
3871
|
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)) { |
|
3881
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
1040 |
194 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
3883
|
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 |
1234 |
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); |
|
3884
|
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 |
1234 |
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) |
|
3906
|
0 |
4821 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
3908
|
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); |
|
3912
|
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 |
4821 |
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; |
|
3918
|
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) { |
|
|
4821 |
0 |
if (!h->lru_prev && !h->expires_at) { |
|
|
4821 |
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) { |
|
3922
|
3569 |
1252 |
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)) { |
|
3924
|
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)) { |
|
3927
|
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)) { |
|
|
3567 |
2 |
while (want_max ? (desired > cur) : (desired < cur)) { |
|
|
1797 |
1772 |
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)) { |
|
3930
|
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, |
|
|
1797 |
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, |
|
3958
|
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++) { |
|
|
5108 |
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++) { |
|
3963
|
11 |
6 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
|
1252 |
3856 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
|
2 |
0 |
if (st == SHM_EMPTY) { |
|
3964
|
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; |
|
|
154 |
1098 |
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; |
|
3967
|
0 |
6 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
1588 |
2268 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
3968
|
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; |
|
|
1098 |
490 |
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; |
|
3971
|
1 |
5 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
2259 |
9 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
3973
|
0 |
9 |
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)) { |
|
3975
|
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)) { |
|
3977
|
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)) { |
|
3980
|
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; |
|
3985
|
0 |
0 |
SHM_VAL_INT_TYPE result = |
|
|
0 |
0 |
SHM_VAL_INT_TYPE result = |
|
3987
|
2 |
2 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
|
0 |
0 |
: (desired < cur ? desired : cur); |
|
3989
|
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); |
|
3990
|
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) |
|
3999
|
0 |
12 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1252 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
4007
|
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 |
1252 |
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) |
|
4014
|
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)) { |
|
4024
|
1 |
11 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
1098 |
154 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
4026
|
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 |
1252 |
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); |
|
4027
|
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 |
1252 |
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) |
|
4047
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
4049
|
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); |
|
4054
|
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; |
|
4068
|
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++) { |
|
4073
|
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; |
|
4074
|
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; |
|
4076
|
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)) { |
|
4078
|
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)) { |
|
4080
|
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)) { |
|
4087
|
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) { |
|
4089
|
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); |
|
4090
|
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) |
|
4122
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
4124
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
4129
|
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; |
|
4143
|
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++) { |
|
4148
|
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; |
|
4149
|
0 |
9 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
4151
|
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)) { |
|
4153
|
9 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4155
|
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)) { |
|
4166
|
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) { |
|
4173
|
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, |
|
4180
|
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); |
|
4181
|
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) |
|
4198
|
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 |
31 |
if (h->shard_handles) { |
|
|
0 |
2 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
4200
|
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++) |
|
4202
|
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); |
|
4210
|
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) { |
|
4212
|
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++) |
|
4214
|
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); |
|
4223
|
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) { |
|
4225
|
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++) |
|
4227
|
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); |
|
4233
|
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]); |
|
4259
|
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); |
|
4261
|
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); |
|
4266
|
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; |
|
4279
|
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++) { |
|
4284
|
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; |
|
4285
|
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; |
|
4287
|
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)) { |
|
4289
|
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)) { |
|
4291
|
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)) { |
|
4297
|
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); |
|
4298
|
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)) { |
|
4311
|
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) |
|
4313
|
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) { |
|
4314
|
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; |
|
4315
|
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; |
|
4337
|
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); |
|
4339
|
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); |
|
4341
|
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 */ |
|
4358
|
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++) { |
|
4363
|
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; |
|
4364
|
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 */ |
|
4366
|
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)) { |
|
4368
|
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)) { |
|
4371
|
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) { |
|
4376
|
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) { |
|
4401
|
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); |
|
4403
|
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); |
|
4405
|
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; |
|
4423
|
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++) { |
|
4428
|
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; |
|
4429
|
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; |
|
4431
|
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)) { |
|
4433
|
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)) { |
|
4435
|
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)) { |
|
4466
|
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); |
|
4468
|
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); |
|
4470
|
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; |
|
4488
|
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++) { |
|
4493
|
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; |
|
4494
|
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; |
|
4496
|
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)) { |
|
4498
|
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)) { |
|
4500
|
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)) { |
|
4509
|
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) |
|
4526
|
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) { |
|
4528
|
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++) |
|
4536
|
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) { |
|
4538
|
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++) |
|
4546
|
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) { |
|
4548
|
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++) |
|
4562
|
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) { |
|
4565
|
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++) { |
|
4568
|
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; |
|
4570
|
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; |
|
4573
|
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) { |
|
4574
|
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 */ |
|
4577
|
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; |
|
4589
|
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 */ |
|
4590
|
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 */ |
|
4591
|
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 */ |
|
4593
|
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++) { |
|
4595
|
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]) { |
|
4603
|
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); |
|
4604
|
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; |
|
4606
|
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; |
|
4610
|
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) |
|
4620
|
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) { |
|
4622
|
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++) |
|
4626
|
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; |
|
4641
|
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); |
|
4643
|
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); |
|
4645
|
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 */ |
|
4650
|
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; |
|
4663
|
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++) { |
|
4668
|
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; |
|
4669
|
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 */ |
|
4671
|
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)) { |
|
4673
|
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)) { |
|
4675
|
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)) { |
|
4684
|
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); |
|
4685
|
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) { |
|
4701
|
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) { |
|
4703
|
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++) |
|
4708
|
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; |
|
4711
|
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; |
|
4712
|
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 */ |
|
4713
|
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 */ |
|
4718
|
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) |
|
4728
|
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) { |
|
4730
|
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++) |
|
4738
|
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) { |
|
4740
|
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++) |
|
4748
|
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) { |
|
4750
|
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++) |
|
4758
|
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) { |
|
4760
|
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++) |
|
4764
|
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; |
|
4768
|
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) { |
|
4770
|
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++) |
|
4774
|
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; |
|
4780
|
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) { |
|
4781
|
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++) |
|
4795
|
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) { |
|
4805
|
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) { |
|
4813
|
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) { |
|
4816
|
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); |
|
4822
|
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) { |
|
4833
|
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) { |
|
4835
|
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--; |
|
4843
|
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) { |
|
4844
|
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++) |
|
4849
|
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) { |
|
4851
|
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--; |
|
4873
|
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); |
|
4875
|
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); |
|
4880
|
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; |
|
4896
|
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++) { |
|
4902
|
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) { |
|
4903
|
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; |
|
4906
|
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) { |
|
4907
|
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; |
|
4910
|
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; |
|
4912
|
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)) { |
|
4914
|
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)) { |
|
4917
|
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)) { |
|
4919
|
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; |
|
4925
|
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); |
|
4926
|
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)) { |
|
4939
|
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); |
|
4940
|
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) |
|
4949
|
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) { |
|
4956
|
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) |
|
4964
|
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)) { |
|
4972
|
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)) { |
|
4980
|
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)) { |
|
4994
|
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--; |
|
4996
|
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); |
|
4997
|
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) |
|
5028
|
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) { |
|
5029
|
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) { |
|
5042
|
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; |
|
5052
|
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; |
|
5056
|
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) { |
|
5063
|
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) { |
|
5068
|
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)) { |
|
5072
|
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)) |
|
5079
|
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); |
|
5081
|
2 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
5083
|
0 |
2 |
if (total64 > UINT32_MAX) { |
|
5086
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
5094
|
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)) { |
|
5097
|
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--; |
|
5109
|
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); |
|
5111
|
2 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
5115
|
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)) { |
|
5118
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
5138
|
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--; |
|
5158
|
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) { |
|
5163
|
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; |
|
5168
|
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) { |
|
5173
|
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)) { |
|
5176
|
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)) |
|
5183
|
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); |
|
5185
|
6 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
5187
|
0 |
6 |
if (total64 > UINT32_MAX) { |
|
5195
|
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)) { |
|
5207
|
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); |
|
5209
|
6 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
5213
|
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)) { |
|
5234
|
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--; |
|
5237
|
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) { |
|
5256
|
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) |
|
5261
|
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) { |