| line |
true |
false |
branch |
|
81
|
414 |
0 |
return (sum > UINT32_MAX) ? UINT32_MAX : (uint32_t)sum; |
|
104
|
0 |
1478 |
if (align_end > cap) align_end = cap; |
|
105
|
2514 |
267 |
for (; i < align_end; i++) { |
|
106
|
1211 |
1303 |
if (states[i] >= SHM_TAG_MIN) { *pos = i; return 1; } |
|
109
|
206 |
62 |
for (; i + 16 <= cap; i += 16) { |
|
114
|
205 |
1 |
if (mask) { *pos = i + __builtin_ctz(mask); return 1; } |
|
118
|
0 |
62 |
for (; i < cap; i++) { |
|
119
|
0 |
0 |
if (states[i] >= SHM_TAG_MIN) { *pos = i; return 1; } |
|
178
|
12 |
12370 |
if (utf8) lf |= SHM_UTF8_FLAG; |
|
182
|
6559 |
5823 |
if (slen > 4) { |
|
200
|
13465 |
12959 |
if (slen > 4) { |
|
212
|
15514 |
46 |
if (SHM_IS_INLINE(len_field)) { |
|
315
|
1 |
68 |
if (needed == 0) needed = 1; |
|
316
|
63 |
6 |
if (needed <= *cap) return 1; |
|
317
|
0 |
6 |
uint32_t ns = *cap ? *cap : 64; |
|
318
|
0 |
6 |
while (ns < needed) { |
|
320
|
0 |
0 |
if (next <= ns) { ns = needed; break; } /* overflow guard */ |
|
324
|
0 |
6 |
if (!nb) return 0; |
|
370
|
0 |
1 |
if (pid == 0) return 1; /* no owner recorded, assume alive */ |
|
371
|
1 |
0 |
return !(kill((pid_t)pid, 0) == -1 && errno == ESRCH); |
|
|
0 |
1 |
return !(kill((pid_t)pid, 0) == -1 && errno == ESRCH); |
|
380
|
0 |
1 |
if (!__atomic_compare_exchange_n(&hdr->rwlock, &observed_rwlock, |
|
385
|
1 |
0 |
if (seq & 1) |
|
390
|
0 |
1 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
405
|
0 |
1622 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
|
0 |
0 |
if (cur > 0 && cur < SHM_RWLOCK_WRITER_BIT) { |
|
406
|
0 |
0 |
if (__atomic_compare_exchange_n(lock, &cur, cur + 1, |
|
409
|
1622 |
0 |
} else if (cur == 0 && !__atomic_load_n(writers_waiting, __ATOMIC_RELAXED)) { |
|
|
1622 |
0 |
} else if (cur == 0 && !__atomic_load_n(writers_waiting, __ATOMIC_RELAXED)) { |
|
410
|
1622 |
0 |
if (__atomic_compare_exchange_n(lock, &cur, 1, |
|
414
|
0 |
0 |
if (__builtin_expect(spin < SHM_RWLOCK_SPIN_LIMIT, 1)) { |
|
421
|
0 |
0 |
if (cur >= SHM_RWLOCK_WRITER_BIT || cur == 0) { |
|
|
0 |
0 |
if (cur >= SHM_RWLOCK_WRITER_BIT || cur == 0) { |
|
424
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
426
|
0 |
0 |
if (cur >= SHM_RWLOCK_WRITER_BIT) { |
|
428
|
0 |
0 |
if (val >= SHM_RWLOCK_WRITER_BIT) { |
|
430
|
0 |
0 |
if (!shm_pid_alive(pid)) |
|
437
|
0 |
0 |
while (wc > 0 && !__atomic_compare_exchange_n( |
|
438
|
0 |
0 |
writers_waiting, &wc, wc - 1, |
|
452
|
1622 |
0 |
if (prev == 0 && __atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
|
0 |
1622 |
if (prev == 0 && __atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
465
|
45602 |
0 |
if (__atomic_compare_exchange_n(lock, &expected, mypid, |
|
468
|
0 |
0 |
if (__builtin_expect(spin < SHM_RWLOCK_SPIN_LIMIT, 1)) { |
|
475
|
0 |
0 |
if (cur != 0) { |
|
478
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
|
0 |
0 |
if (rc == -1 && errno == ETIMEDOUT) { |
|
482
|
0 |
0 |
if (val >= SHM_RWLOCK_WRITER_BIT) { |
|
484
|
0 |
0 |
if (!shm_pid_alive(pid)) |
|
499
|
0 |
45602 |
if (__atomic_load_n(&hdr->rwlock_waiters, __ATOMIC_RELAXED) > 0) |
|
509
|
14124 |
100001 |
if (__builtin_expect((s & 1) == 0, 1)) return s; |
|
510
|
100000 |
1 |
if (__builtin_expect(spin < 100000, 1)) { |
|
517
|
1 |
0 |
if (val >= SHM_RWLOCK_WRITER_BIT) { |
|
519
|
1 |
0 |
if (!shm_pid_alive(pid)) { |
|
550
|
1630 |
7149 |
if (len < SHM_ARENA_MIN_ALLOC) return SHM_ARENA_MIN_ALLOC; |
|
555
|
1830 |
6949 |
if (alloc_size <= SHM_ARENA_MIN_ALLOC) return 0; |
|
556
|
0 |
6949 |
if (alloc_size > (SHM_ARENA_MIN_ALLOC << (SHM_ARENA_NUM_CLASSES - 1))) return -1; |
|
564
|
4469 |
0 |
if (cls >= 0 && hdr->arena_free[cls] != 0) { |
|
|
1 |
4468 |
if (cls >= 0 && hdr->arena_free[cls] != 0) { |
|
573
|
4466 |
2 |
if (off + asize > hdr->arena_cap || off + asize > (uint64_t)UINT32_MAX) |
|
|
0 |
4466 |
if (off + asize > hdr->arena_cap || off + asize > (uint64_t)UINT32_MAX) |
|
583
|
4310 |
0 |
if (cls < 0 || off == 0) return; |
|
|
0 |
4310 |
if (cls < 0 || off == 0) return; |
|
594
|
12382 |
4469 |
if (slen <= SHM_INLINE_MAX) { |
|
599
|
2 |
4467 |
if (aoff == 0 && slen > 0) return 0; |
|
|
2 |
0 |
if (aoff == 0 && slen > 0) return 0; |
|
602
|
1 |
4466 |
*len_field = SHM_PACK_LEN(slen, utf8); |
|
609
|
4310 |
5898 |
if (!SHM_IS_INLINE(len_field)) |
|
616
|
108 |
0 |
if (SHM_IS_INLINE(len_field)) |
|
625
|
1 |
7530 |
if (v < 2) return 2; |
|
626
|
0 |
7530 |
if (v > 0x80000000U) return 0; /* overflow: no valid power of 2 */ |
|
639
|
338 |
4 |
if (p != SHM_LRU_NONE) next[p] = n; |
|
641
|
3 |
339 |
if (n != SHM_LRU_NONE) prev[n] = p; |
|
650
|
2148 |
0 |
if (h->lru_accessed) __atomic_store_n(&h->lru_accessed[idx], 0, __ATOMIC_RELAXED); /* clear stale clock bit */ |
|
653
|
2091 |
57 |
if (hdr->lru_head != SHM_LRU_NONE) prev[hdr->lru_head] = idx; |
|
660
|
3 |
2 |
if (hdr->lru_head == idx) return; |
|
664
|
0 |
2 |
if (hdr->lru_skip > 0 && idx != hdr->lru_tail) { |
|
|
0 |
0 |
if (hdr->lru_skip > 0 && idx != hdr->lru_tail) { |
|
666
|
0 |
0 |
if ((++promote_ctr & hdr->lru_skip) != 0) |
|
688
|
0 |
368 |
if (!h) { |
|
689
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "calloc: out of memory"); |
|
691
|
0 |
0 |
if (backing_fd >= 0) close(backing_fd); |
|
697
|
124 |
244 |
h->arena = hdr->arena_off ? (char *)hdr + hdr->arena_off : NULL; |
|
698
|
33 |
335 |
h->lru_prev = has_lru ? (uint32_t *)((char *)hdr + lru_prev_off) : NULL; |
|
699
|
33 |
335 |
h->lru_next = has_lru ? (uint32_t *)((char *)hdr + lru_next_off) : NULL; |
|
700
|
33 |
335 |
h->lru_accessed = has_lru ? (uint8_t *)((char *)hdr + lru_accessed_off) : NULL; |
|
701
|
78 |
290 |
h->expires_at = has_ttl ? (uint32_t *)((char *)hdr + expires_off) : NULL; |
|
710
|
350 |
18 |
if (path) { |
|
712
|
0 |
350 |
if (!h->path) { |
|
713
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "strdup: out of memory"); |
|
715
|
0 |
0 |
if (backing_fd >= 0) close(backing_fd); |
|
721
|
124 |
244 |
if (has_arena) { |
|
723
|
124 |
0 |
if (h->copy_buf) h->copy_buf_size = 256; |
|
733
|
367 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
735
|
2 |
365 |
if (max_tcap < SHM_INITIAL_CAP) max_tcap = SHM_INITIAL_CAP; |
|
746
|
33 |
334 |
if (has_lru) { |
|
755
|
78 |
289 |
if (has_ttl) { |
|
762
|
125 |
242 |
if (has_arena) { |
|
765
|
13 |
112 |
if (arena_cap < 4096) arena_cap = 4096; |
|
768
|
125 |
242 |
uint64_t total_size = has_arena ? arena_off + arena_cap : next_off; |
|
778
|
12 |
355 |
if (anonymous) { |
|
781
|
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; } |
|
785
|
1 |
354 |
if (fd < 0) { SHM_ERR("open(%s): %s", path, strerror(errno)); return NULL; } |
|
|
1 |
0 |
if (fd < 0) { SHM_ERR("open(%s): %s", path, strerror(errno)); return NULL; } |
|
787
|
0 |
354 |
if (flock(fd, LOCK_EX) < 0) { SHM_ERR("flock(%s): %s", path, strerror(errno)); close(fd); return NULL; } |
|
|
0 |
0 |
if (flock(fd, LOCK_EX) < 0) { SHM_ERR("flock(%s): %s", path, strerror(errno)); close(fd); return NULL; } |
|
789
|
0 |
354 |
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; } |
|
793
|
7 |
347 |
if (!is_new && (uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
|
0 |
7 |
if (!is_new && (uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
794
|
0 |
0 |
SHM_ERR("%s: file too small (%lld bytes, need %zu)", path, |
|
799
|
347 |
7 |
if (is_new) { |
|
800
|
0 |
347 |
if (ftruncate(fd, (off_t)total_size) < 0) { |
|
801
|
0 |
0 |
SHM_ERR("ftruncate(%s, %llu): %s", path, (unsigned long long)total_size, strerror(errno)); |
|
806
|
7 |
347 |
base = mmap(NULL, is_new ? total_size : (size_t)st.st_size, |
|
808
|
0 |
354 |
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; } |
|
813
|
359 |
7 |
if (is_new) { |
|
824
|
122 |
237 |
hdr->arena_off = has_arena ? arena_off : 0; |
|
833
|
1 |
358 |
if (lru_skip > 0 && lru_skip < 100) { |
|
|
1 |
0 |
if (lru_skip > 0 && lru_skip < 100) { |
|
836
|
4 |
1 |
while (p < interval) p <<= 1; |
|
845
|
32 |
327 |
if (has_lru) { |
|
852
|
77 |
282 |
if (has_ttl) { |
|
860
|
6 |
1 |
hdr->version == SHM_VERSION && |
|
861
|
3 |
3 |
hdr->variant_id == variant_id && |
|
862
|
3 |
0 |
hdr->node_size == node_size && |
|
863
|
3 |
0 |
hdr->total_size == (uint64_t)st.st_size && |
|
864
|
3 |
0 |
hdr->nodes_off >= sizeof(ShmHeader) && |
|
865
|
3 |
0 |
hdr->states_off > hdr->nodes_off && |
|
866
|
3 |
0 |
hdr->states_off < hdr->total_size && |
|
867
|
0 |
3 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
|
0 |
0 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
868
|
0 |
0 |
hdr->arena_off + hdr->arena_cap <= hdr->total_size && |
|
869
|
0 |
0 |
hdr->arena_bump <= hdr->arena_cap && |
|
870
|
0 |
0 |
hdr->arena_bump >= SHM_ARENA_MIN_ALLOC)) && |
|
871
|
3 |
0 |
hdr->max_table_cap > 0 && |
|
872
|
3 |
0 |
(hdr->max_table_cap & (hdr->max_table_cap - 1)) == 0 && |
|
873
|
3 |
0 |
hdr->table_cap > 0 && |
|
874
|
3 |
0 |
(hdr->table_cap & (hdr->table_cap - 1)) == 0 && |
|
875
|
3 |
0 |
hdr->table_cap <= hdr->max_table_cap && |
|
876
|
3 |
0 |
hdr->states_off + hdr->max_table_cap <= hdr->total_size && |
|
877
|
3 |
0 |
hdr->nodes_off + (uint64_t)hdr->max_table_cap * hdr->node_size <= hdr->states_off && |
|
878
|
3 |
0 |
hdr->size <= hdr->table_cap && |
|
879
|
7 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
|
3 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
880
|
1 |
2 |
(!hdr->max_size || |
|
881
|
1 |
0 |
((hdr->lru_head == SHM_LRU_NONE || hdr->lru_head < hdr->max_table_cap) && |
|
|
1 |
0 |
((hdr->lru_head == SHM_LRU_NONE || hdr->lru_head < hdr->max_table_cap) && |
|
882
|
1 |
0 |
(hdr->lru_tail == SHM_LRU_NONE || hdr->lru_tail < hdr->max_table_cap)))); |
|
|
1 |
0 |
(hdr->lru_tail == SHM_LRU_NONE || hdr->lru_tail < hdr->max_table_cap)))); |
|
883
|
4 |
3 |
if (!valid) { |
|
884
|
0 |
4 |
if (hdr->magic != SHM_MAGIC) |
|
885
|
0 |
0 |
SHM_ERR("%s: bad magic (not a HashMap::Shared file)", path); |
|
886
|
1 |
3 |
else if (hdr->version != SHM_VERSION) |
|
887
|
1 |
0 |
SHM_ERR("%s: version mismatch (file=%u, expected=%u)", path, hdr->version, SHM_VERSION); |
|
888
|
3 |
0 |
else if (hdr->variant_id != variant_id) |
|
889
|
3 |
0 |
SHM_ERR("%s: variant mismatch (file=%u, expected=%u)", path, hdr->variant_id, variant_id); |
|
891
|
0 |
0 |
SHM_ERR("%s: corrupt header", path); |
|
902
|
1 |
2 |
if (has_lru) { |
|
911
|
1 |
2 |
if (has_ttl) { |
|
916
|
0 |
3 |
if (next_off > total_size) { |
|
917
|
0 |
0 |
SHM_ERR("%s: file too small for LRU/TTL arrays", path); |
|
924
|
350 |
12 |
if (fd >= 0) { flock(fd, LOCK_UN); close(fd); } |
|
938
|
4 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
941
|
0 |
4 |
if (max_tcap < SHM_INITIAL_CAP) max_tcap = SHM_INITIAL_CAP; |
|
949
|
0 |
4 |
if (has_lru) { |
|
958
|
0 |
4 |
if (has_ttl) { |
|
964
|
1 |
3 |
if (has_arena) { |
|
967
|
0 |
1 |
if (arena_cap < 4096) arena_cap = 4096; |
|
969
|
1 |
3 |
uint64_t total_size = has_arena ? arena_off + arena_cap : next_off; |
|
971
|
4 |
0 |
int fd = memfd_create(name ? name : "hashmap", MFD_CLOEXEC | MFD_ALLOW_SEALING); |
|
972
|
0 |
4 |
if (fd < 0) { |
|
973
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "memfd_create: %s", strerror(errno)); |
|
976
|
0 |
4 |
if (ftruncate(fd, (off_t)total_size) < 0) { |
|
977
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "ftruncate: %s", strerror(errno)); |
|
982
|
0 |
4 |
if (base == MAP_FAILED) { |
|
983
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "mmap: %s", strerror(errno)); |
|
998
|
1 |
3 |
hdr->arena_off = has_arena ? arena_off : 0; |
|
1005
|
0 |
4 |
if (lru_skip > 0 && lru_skip < 100) { |
|
|
0 |
0 |
if (lru_skip > 0 && lru_skip < 100) { |
|
1008
|
0 |
0 |
while (p < interval) p <<= 1; |
|
1015
|
0 |
4 |
if (has_lru) { |
|
1020
|
0 |
4 |
if (has_ttl) memset((char *)base + expires_off, 0, max_tcap * sizeof(uint32_t)); |
|
1031
|
3 |
0 |
if (errbuf) errbuf[0] = '\0'; |
|
1033
|
0 |
3 |
if (fstat(fd, &st) < 0) { |
|
1034
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fstat: %s", strerror(errno)); |
|
1037
|
1 |
2 |
if ((uint64_t)st.st_size < sizeof(ShmHeader)) { |
|
1038
|
1 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fd: file too small for header"); |
|
1043
|
0 |
2 |
if (base == MAP_FAILED) { |
|
1044
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "mmap: %s", strerror(errno)); |
|
1052
|
2 |
0 |
hdr->version == SHM_VERSION && |
|
1053
|
2 |
0 |
hdr->variant_id == variant_id && |
|
1054
|
2 |
0 |
hdr->node_size == node_size && |
|
1055
|
2 |
0 |
hdr->total_size == (uint64_t)st.st_size && |
|
1056
|
2 |
0 |
hdr->nodes_off >= sizeof(ShmHeader) && |
|
1057
|
2 |
0 |
hdr->states_off > hdr->nodes_off && |
|
1058
|
2 |
0 |
hdr->states_off < hdr->total_size && |
|
1059
|
1 |
1 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
|
1 |
0 |
(!hdr->arena_off || (hdr->arena_off < hdr->total_size && |
|
1060
|
1 |
0 |
hdr->arena_off + hdr->arena_cap <= hdr->total_size && |
|
1061
|
1 |
0 |
hdr->arena_bump <= hdr->arena_cap && |
|
1062
|
1 |
0 |
hdr->arena_bump >= SHM_ARENA_MIN_ALLOC)) && |
|
1063
|
2 |
0 |
hdr->max_table_cap > 0 && |
|
1064
|
2 |
0 |
(hdr->max_table_cap & (hdr->max_table_cap - 1)) == 0 && |
|
1065
|
2 |
0 |
hdr->table_cap > 0 && |
|
1066
|
2 |
0 |
(hdr->table_cap & (hdr->table_cap - 1)) == 0 && |
|
1067
|
2 |
0 |
hdr->table_cap <= hdr->max_table_cap && |
|
1068
|
2 |
0 |
hdr->states_off + hdr->max_table_cap <= hdr->total_size && |
|
1069
|
2 |
0 |
hdr->nodes_off + (uint64_t)hdr->max_table_cap * hdr->node_size <= hdr->states_off && |
|
1070
|
2 |
0 |
hdr->size <= hdr->table_cap && |
|
1071
|
2 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
|
2 |
0 |
hdr->tombstones <= hdr->table_cap - hdr->size && |
|
1072
|
0 |
2 |
(!hdr->max_size || |
|
1073
|
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) && |
|
1074
|
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)))); |
|
1075
|
0 |
2 |
if (!valid) { |
|
1076
|
0 |
0 |
if (errbuf) { |
|
1077
|
0 |
0 |
if (hdr->magic != SHM_MAGIC) |
|
1079
|
0 |
0 |
else if (hdr->version != SHM_VERSION) |
|
1082
|
0 |
0 |
else if (hdr->variant_id != variant_id) |
|
1099
|
0 |
2 |
if (has_lru) { |
|
1108
|
0 |
2 |
if (has_ttl) { |
|
1113
|
0 |
2 |
if (next_off > total_size) { |
|
1114
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fd: file too small for LRU/TTL arrays"); |
|
1120
|
0 |
2 |
if (myfd < 0) { |
|
1121
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "fcntl: %s", strerror(errno)); |
|
1131
|
0 |
1 |
if (!h) return 0; |
|
1132
|
0 |
1 |
if (h->shard_handles) { |
|
1133
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
1136
|
0 |
0 |
if (rc != 0) return rc; |
|
1140
|
0 |
1 |
if (!h->hdr) return 0; |
|
1145
|
0 |
390 |
if (!h) return; |
|
1146
|
22 |
368 |
if (h->shard_handles) { |
|
1148
|
100 |
22 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
1155
|
368 |
0 |
if (h->hdr) munmap(h->hdr, h->mmap_size); |
|
1156
|
6 |
362 |
if (h->backing_fd >= 0) close(h->backing_fd); |
|
1168
|
0 |
22 |
if (!path_prefix) { |
|
1169
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "new_sharded requires a path_prefix"); |
|
1174
|
46 |
22 |
while (ns < num_shards) ns <<= 1; |
|
1178
|
0 |
22 |
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; } |
|
1181
|
0 |
22 |
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; } |
|
1187
|
100 |
22 |
for (uint32_t i = 0; i < num_shards; i++) { |
|
1190
|
100 |
0 |
if (sn < 0 || sn >= (int)sizeof(shard_path)) { |
|
|
0 |
100 |
if (sn < 0 || sn >= (int)sizeof(shard_path)) { |
|
1191
|
0 |
0 |
if (errbuf) snprintf(errbuf, SHM_ERR_BUFLEN, "shard path too long"); |
|
1192
|
0 |
0 |
for (uint32_t j = 0; j < i; j++) |
|
1202
|
0 |
100 |
if (!h->shard_handles[i]) { |
|
1204
|
0 |
0 |
for (uint32_t j = 0; j < i; j++) |
|
1221
|
2 |
1 |
if (!h->shard_handles) { |
|
1222
|
1 |
1 |
if (!h->path) return 0; |
|
1226
|
4 |
1 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
1227
|
4 |
0 |
if (h->shard_handles[i] && h->shard_handles[i]->path) { |
|
|
4 |
0 |
if (h->shard_handles[i] && h->shard_handles[i]->path) { |
|
1228
|
0 |
4 |
if (unlink(h->shard_handles[i]->path) != 0) ok = 0; |
|
1236
|
0 |
24 |
if (!c) return NULL; |
|
1238
|
4 |
20 |
if (h->shard_handles) { |
|
1253
|
0 |
24 |
if (!c) return; |
|
1255
|
24 |
0 |
if (cur && cur->iterating > 0) |
|
|
8 |
16 |
if (cur && cur->iterating > 0) |
|
1321
|
5130 |
2 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
24 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
11 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
14 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
1322
|
32 |
5098 |
if (shm_inline_len(kl_packed) != len) return 0; |
|
|
2 |
22 |
if (shm_inline_len(kl_packed) != len) return 0; |
|
|
0 |
11 |
if (shm_inline_len(kl_packed) != len) return 0; |
|
|
0 |
14 |
if (shm_inline_len(kl_packed) != len) return 0; |
|
1327
|
0 |
2 |
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; |
|
1409
|
5361 |
14572 |
while (SHM_IS_LIVE(states[pos])) |
|
|
225 |
762 |
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])) |
|
|
14251 |
33840 |
while (SHM_IS_LIVE(states[pos])) |
|
|
764 |
2042 |
while (SHM_IS_LIVE(states[pos])) |
|
|
0 |
0 |
while (SHM_IS_LIVE(states[pos])) |
|
1440
|
53 |
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) { |
|
|
273 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (victim != SHM_LRU_NONE) { |
|
1441
|
53 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
0 |
53 |
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)) { |
|
|
273 |
0 |
if (h->lru_accessed && __atomic_load_n(&h->lru_accessed[victim], __ATOMIC_RELAXED)) { |
|
|
7 |
266 |
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)) { |
|
1448
|
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 |
7 |
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; |
|
1453
|
0 |
53 |
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 |
266 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
|
0 |
0 |
if (victim == SHM_LRU_NONE) return; |
|
1455
|
0 |
53 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
0 |
1 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
2 |
264 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[victim] = 0; |
|
1463
|
0 |
2 |
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 |
0 |
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 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
261 |
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); |
|
1486
|
49 |
4 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
49 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
6 |
0 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
0 |
6 |
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); |
|
|
170 |
20 |
int need_mapping = (h->lru_prev || h->expires_at); |
|
|
18 |
152 |
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); |
|
1488
|
50 |
3 |
if (live > 0) { |
|
|
6 |
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) { |
|
|
176 |
14 |
if (live > 0) { |
|
|
8 |
0 |
if (live > 0) { |
|
|
0 |
0 |
if (live > 0) { |
|
1490
|
0 |
50 |
if (!saved) return 0; |
|
|
0 |
6 |
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 |
176 |
if (!saved) return 0; |
|
|
0 |
8 |
if (!saved) return 0; |
|
|
0 |
0 |
if (!saved) return 0; |
|
1492
|
4 |
46 |
if (need_mapping) { |
|
|
0 |
6 |
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) { |
|
|
33 |
143 |
if (need_mapping) { |
|
|
0 |
8 |
if (need_mapping) { |
|
|
0 |
0 |
if (need_mapping) { |
|
1495
|
4 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
4 |
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) { |
|
|
33 |
0 |
if (!saved_indices || !old_to_new) { |
|
|
0 |
33 |
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) { |
|
1502
|
4 |
46 |
if (h->lru_prev) { |
|
|
0 |
6 |
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) { |
|
|
20 |
156 |
if (h->lru_prev) { |
|
|
0 |
8 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
1504
|
0 |
4 |
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 |
20 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
|
0 |
0 |
if (!lru_order) { |
|
1509
|
184 |
4 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
184 |
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) { |
|
|
920 |
20 |
while (idx != SHM_LRU_NONE && lru_count < live) { |
|
|
920 |
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) { |
|
1515
|
0 |
50 |
if (h->expires_at) { |
|
|
0 |
6 |
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) { |
|
|
13 |
163 |
if (h->expires_at) { |
|
|
0 |
8 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
1517
|
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 |
13 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
|
0 |
0 |
if (!saved_exp) { |
|
1525
|
30244 |
28 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
30222 |
22 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
1006 |
3 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
1003 |
3 |
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++) { |
|
|
74467 |
150 |
for (uint32_t i = 0; i < old_cap && j < live; i++) { |
|
|
74441 |
26 |
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++) { |
|
1526
|
14572 |
15650 |
if (SHM_IS_LIVE(states[i])) { |
|
|
762 |
241 |
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])) { |
|
|
33840 |
40601 |
if (SHM_IS_LIVE(states[i])) { |
|
|
2042 |
2038 |
if (SHM_IS_LIVE(states[i])) { |
|
|
0 |
0 |
if (SHM_IS_LIVE(states[i])) { |
|
1528
|
184 |
14388 |
if (saved_indices) saved_indices[j] = i; |
|
|
0 |
762 |
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; |
|
|
1329 |
32511 |
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; |
|
1540
|
4 |
49 |
if (h->lru_prev) { |
|
|
0 |
6 |
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) { |
|
|
20 |
170 |
if (h->lru_prev) { |
|
|
0 |
8 |
if (h->lru_prev) { |
|
|
0 |
0 |
if (h->lru_prev) { |
|
1543
|
4 |
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); |
|
|
20 |
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); |
|
1547
|
0 |
53 |
if (h->expires_at) { |
|
|
0 |
6 |
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) { |
|
|
18 |
172 |
if (h->expires_at) { |
|
|
0 |
8 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
1551
|
14572 |
53 |
for (uint32_t k = 0; k < live; k++) { |
|
|
762 |
6 |
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++) { |
|
|
33840 |
190 |
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++) { |
|
1553
|
184 |
14388 |
if (old_to_new) old_to_new[saved_indices[k]] = new_idx; |
|
|
0 |
762 |
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; |
|
|
1329 |
32511 |
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; |
|
1558
|
4 |
49 |
if (h->lru_prev && lru_order) { |
|
|
4 |
0 |
if (h->lru_prev && lru_order) { |
|
|
0 |
6 |
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) { |
|
|
20 |
170 |
if (h->lru_prev && lru_order) { |
|
|
20 |
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) { |
|
1559
|
184 |
4 |
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++) { |
|
|
920 |
20 |
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++) { |
|
1561
|
184 |
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) |
|
|
920 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
1567
|
0 |
53 |
if (h->expires_at && saved_exp) { |
|
|
0 |
0 |
if (h->expires_at && saved_exp) { |
|
|
0 |
6 |
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) { |
|
|
18 |
172 |
if (h->expires_at && saved_exp) { |
|
|
13 |
5 |
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) { |
|
1568
|
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++) { |
|
|
409 |
13 |
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++) { |
|
1570
|
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) |
|
|
409 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
|
0 |
0 |
if (new_idx != SHM_LRU_NONE) |
|
1575
|
9 |
44 |
if (new_cap < old_cap) { |
|
|
0 |
6 |
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) { |
|
|
29 |
161 |
if (new_cap < old_cap) { |
|
|
1 |
7 |
if (new_cap < old_cap) { |
|
|
0 |
0 |
if (new_cap < old_cap) { |
|
1595
|
41 |
8083 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
6 |
524 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
1 |
19 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
0 |
15 |
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)) { |
|
|
230 |
18066 |
if (__builtin_expect((uint64_t)(size + tomb) * 4 > (uint64_t)cap * 3, 0)) { |
|
|
7 |
1015 |
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)) { |
|
1596
|
0 |
41 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
6 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
1 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
230 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
7 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
|
0 |
0 |
if (h->iterating > 0) { h->deferred = 1; return; } |
|
1598
|
41 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
6 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
1 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
151 |
79 |
if (new_cap <= hdr->max_table_cap) |
|
|
7 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
1600
|
8081 |
2 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
8081 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
524 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
524 |
} 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)) { |
|
|
15 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
15 |
} 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)) { |
|
|
18064 |
2 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
18064 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
1015 |
0 |
} else if (__builtin_expect(tomb > size || tomb > cap / 4, 0)) { |
|
|
0 |
1015 |
} 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)) { |
|
1601
|
0 |
2 |
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 |
2 |
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; } |
|
1608
|
21 |
4999 |
if (hdr->table_cap <= SHM_INITIAL_CAP) return; |
|
|
3 |
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; |
|
|
1 |
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; |
|
|
46 |
12779 |
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; |
|
1609
|
9 |
4990 |
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)) { |
|
|
175 |
12604 |
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)) { |
|
1610
|
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; } |
|
|
149 |
26 |
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; } |
|
1612
|
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 |
26 |
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; |
|
1618
|
0 |
10 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
2 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
2 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
3 |
76 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
3 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
|
0 |
0 |
if (!h->deferred || h->iterating > 0) return; |
|
1624
|
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 |
3 |
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) { |
|
1626
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
|
0 |
0 |
if (new_cap <= hdr->max_table_cap) |
|
1628
|
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) { |
|
|
3 |
0 |
} else if (cap > SHM_INITIAL_CAP && (uint64_t)size * 4 < cap) { |
|
|
3 |
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) { |
|
1630
|
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 |
3 |
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; |
|
1632
|
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) { |
|
1672
|
7 |
8100 |
if (h->expires_at) { |
|
|
3 |
519 |
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) { |
|
|
366 |
17889 |
if (h->expires_at) { |
|
|
0 |
1014 |
if (h->expires_at) { |
|
|
2 |
10 |
if (h->expires_at) { |
|
1673
|
6 |
1 |
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; |
|
|
344 |
22 |
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; |
|
1674
|
7 |
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) |
|
|
354 |
12 |
if (ttl > 0) |
|
|
0 |
0 |
if (ttl > 0) |
|
|
2 |
0 |
if (ttl > 0) |
|
1679
|
25620 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
1567 |
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++) { |
|
|
65010 |
69 |
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++) { |
|
1685
|
8100 |
17520 |
if (st == SHM_EMPTY) { |
|
|
522 |
1045 |
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) { |
|
|
18182 |
46828 |
if (st == SHM_EMPTY) { |
|
|
1014 |
2352 |
if (st == SHM_EMPTY) { |
|
|
12 |
2 |
if (st == SHM_EMPTY) { |
|
1686
|
8087 |
13 |
if (insert_pos == UINT32_MAX) insert_pos = idx; |
|
|
522 |
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; |
|
|
18122 |
60 |
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; |
|
1689
|
14 |
17506 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1045 |
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) { |
|
|
85 |
46743 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2352 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
1690
|
13 |
1 |
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; |
|
|
60 |
25 |
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; |
|
1694
|
17431 |
75 |
if (st != tag) continue; |
|
|
1042 |
3 |
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; |
|
|
46559 |
184 |
if (st != tag) continue; |
|
|
2345 |
7 |
if (st != tag) continue; |
|
|
2 |
0 |
if (st != tag) continue; |
|
1696
|
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)) { |
|
|
4 |
180 |
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)) { |
|
1698
|
7 |
68 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
|
0 |
3 |
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)) { |
|
1705
|
0 |
7 |
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)) |
|
1712
|
0 |
7 |
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 |
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); |
|
1713
|
0 |
7 |
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) { |
|
|
2 |
2 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
1714
|
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) |
|
|
1 |
1 |
if (ttl_sec != SHM_TTL_USE_DEFAULT || h->expires_at[idx] != 0) |
|
|
0 |
1 |
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) |
|
1721
|
0 |
8100 |
if (insert_pos == UINT32_MAX) return 0; |
|
|
0 |
522 |
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; |
|
|
69 |
18182 |
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; |
|
1724
|
160 |
7940 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
53 |
107 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
3 |
519 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
1 |
2 |
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) |
|
|
869 |
17313 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
264 |
605 |
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) |
|
1733
|
0 |
8100 |
if (!shm_str_store(hdr, h->arena, &nodes[insert_pos].key_off, &nodes[insert_pos].key_len, key_str, key_len, key_utf8)) |
|
|
0 |
522 |
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)) |
|
1738
|
2 |
8098 |
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)) { |
|
1750
|
13 |
8085 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
522 |
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--; |
|
|
60 |
18122 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1014 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
12 |
if (was_tombstone) hdr->tombstones--; |
|
1752
|
160 |
7938 |
if (h->lru_prev) shm_lru_push_front(h, insert_pos); |
|
|
3 |
519 |
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); |
|
|
869 |
17313 |
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); |
|
1753
|
7 |
8091 |
if (h->expires_at) h->expires_at[insert_pos] = exp_ts; |
|
|
3 |
519 |
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; |
|
|
364 |
17818 |
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; |
|
1772
|
0 |
13 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
16 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
1518 |
15729 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1014 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
12 |
SHM_SHARD_DISPATCH(h, key); |
|
1774
|
154 |
7947 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
522 |
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); |
|
1834
|
0 |
1 |
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 |
22 |
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; |
|
1864
|
0 |
13 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key); |
|
|
509 |
10397 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key); |
|
1866
|
8 |
2557 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
515 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
5 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
0 |
8 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
1904
|
72 |
2493 |
if (pos + 16 <= hdr->table_cap) { |
|
|
20 |
495 |
if (pos + 16 <= hdr->table_cap) { |
|
|
4 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
13 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
8 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
10 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
334 |
10572 |
if (pos + 16 <= hdr->table_cap) { |
|
|
7 |
1 |
if (pos + 16 <= hdr->table_cap) { |
|
|
7 |
3 |
if (pos + 16 <= hdr->table_cap) { |
|
1908
|
2470 |
23 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
|
495 |
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; |
|
|
9820 |
752 |
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; |
|
1910
|
2498 |
1 |
while (relevant) { |
|
|
496 |
0 |
while (relevant) { |
|
|
1 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
10522 |
87 |
while (relevant) { |
|
|
1 |
0 |
while (relevant) { |
|
|
2 |
1 |
while (relevant) { |
|
1915
|
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)) { |
|
|
10485 |
37 |
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)) { |
|
1919
|
2498 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
496 |
0 |
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); |
|
1921
|
4 |
2494 |
if (kl != key_len) goto simd_next; |
|
|
1 |
495 |
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; |
|
1922
|
2494 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
495 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
1 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
0 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
1925
|
2 |
2492 |
if (memcmp(ibuf, key_str, kl) != 0) goto simd_next; |
|
|
0 |
495 |
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; |
|
1928
|
0 |
0 |
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; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) goto simd_done; |
|
1929
|
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; |
|
|
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; |
|
1936
|
2490 |
2 |
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); |
|
1948
|
0 |
1 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
56 |
31 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
0 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
|
1 |
0 |
if (emask) goto simd_done; /* hit empty — key absent */ |
|
1953
|
73 |
2492 |
if (!found) { |
|
|
20 |
495 |
if (!found) { |
|
|
4 |
1 |
if (!found) { |
|
|
8 |
0 |
if (!found) { |
|
|
13 |
0 |
if (!found) { |
|
|
8 |
0 |
if (!found) { |
|
|
10 |
0 |
if (!found) { |
|
|
421 |
10485 |
if (!found) { |
|
|
7 |
1 |
if (!found) { |
|
|
8 |
2 |
if (!found) { |
|
1954
|
109 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
22 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
9 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
15 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
11 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
13 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
1780 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
8 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
11 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
1960
|
5 |
104 |
if (st == SHM_EMPTY) break; |
|
|
2 |
20 |
if (st == SHM_EMPTY) break; |
|
|
0 |
4 |
if (st == SHM_EMPTY) break; |
|
|
0 |
9 |
if (st == SHM_EMPTY) break; |
|
|
0 |
15 |
if (st == SHM_EMPTY) break; |
|
|
0 |
11 |
if (st == SHM_EMPTY) break; |
|
|
1 |
12 |
if (st == SHM_EMPTY) break; |
|
|
78 |
1702 |
if (st == SHM_EMPTY) break; |
|
|
0 |
8 |
if (st == SHM_EMPTY) break; |
|
|
1 |
10 |
if (st == SHM_EMPTY) break; |
|
1961
|
36 |
68 |
if (st != tag) continue; |
|
|
2 |
18 |
if (st != tag) continue; |
|
|
0 |
4 |
if (st != tag) continue; |
|
|
1 |
8 |
if (st != tag) continue; |
|
|
2 |
13 |
if (st != tag) continue; |
|
|
3 |
8 |
if (st != tag) continue; |
|
|
3 |
9 |
if (st != tag) continue; |
|
|
1356 |
346 |
if (st != tag) continue; |
|
|
1 |
7 |
if (st != tag) continue; |
|
|
3 |
7 |
if (st != tag) continue; |
|
1964
|
13 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
8 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
9 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
343 |
3 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
7 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
|
7 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { |
|
1969
|
65 |
3 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
18 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
4 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
|
8 |
0 |
uint32_t kl = SHM_STR_LEN(kl_packed); |
|
1970
|
0 |
68 |
if (kl != key_len) continue; |
|
|
0 |
18 |
if (kl != key_len) continue; |
|
|
0 |
4 |
if (kl != key_len) continue; |
|
|
0 |
8 |
if (kl != key_len) continue; |
|
1972
|
65 |
3 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
18 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
4 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
|
8 |
0 |
if (SHM_IS_INLINE(kl_packed)) { |
|
1975
|
0 |
65 |
if (memcmp(ibuf, key_str, kl) != 0) continue; |
|
|
0 |
18 |
if (memcmp(ibuf, key_str, kl) != 0) continue; |
|
|
0 |
4 |
if (memcmp(ibuf, key_str, kl) != 0) continue; |
|
|
0 |
8 |
if (memcmp(ibuf, key_str, kl) != 0) continue; |
|
1977
|
0 |
3 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
|
0 |
0 |
if ((uint64_t)koff + kl > arena_cap) break; |
|
1978
|
0 |
3 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
|
0 |
0 |
if (memcmp(h->arena + koff, key_str, kl) != 0) continue; |
|
1985
|
59 |
9 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
12 |
1 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
4 |
4 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
|
8 |
1 |
local_vl = SHM_STR_LEN(local_vlen_packed); |
|
1997
|
2560 |
5 |
if (found) { |
|
|
513 |
2 |
if (found) { |
|
|
5 |
0 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
13 |
0 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
9 |
1 |
if (found) { |
|
|
10828 |
78 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
9 |
1 |
if (found) { |
|
1999
|
5 |
2555 |
if (h->expires_at) { |
|
|
2 |
511 |
if (h->expires_at) { |
|
|
1 |
4 |
if (h->expires_at) { |
|
|
1 |
7 |
if (h->expires_at) { |
|
|
2 |
11 |
if (h->expires_at) { |
|
|
1 |
7 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
|
41 |
10787 |
if (h->expires_at) { |
|
|
1 |
7 |
if (h->expires_at) { |
|
|
1 |
8 |
if (h->expires_at) { |
|
2001
|
5 |
0 |
if (exp != 0 && shm_now() >= exp) { |
|
|
1 |
4 |
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) { |
|
|
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) { |
|
|
31 |
10 |
if (exp != 0 && shm_now() >= exp) { |
|
|
9 |
22 |
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) { |
|
2007
|
2559 |
6 |
if (found) { |
|
|
513 |
2 |
if (found) { |
|
|
5 |
0 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
13 |
0 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
9 |
1 |
if (found) { |
|
|
10819 |
87 |
if (found) { |
|
|
8 |
0 |
if (found) { |
|
|
9 |
1 |
if (found) { |
|
2009
|
2548 |
11 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
|
12 |
1 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
|
4 |
4 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
|
8 |
1 |
if (SHM_IS_INLINE(local_vlen_packed)) { |
|
2011
|
2548 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
2548 |
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) { |
|
2012
|
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; |
|
2018
|
0 |
11 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
|
0 |
1 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
|
0 |
4 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
|
0 |
1 |
if ((uint64_t)local_voff + local_vl > arena_cap) continue; |
|
2019
|
11 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
11 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
1 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
1 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
4 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
4 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
1 |
0 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
|
0 |
1 |
if (local_vl > h->copy_buf_size || !h->copy_buf) { |
|
2020
|
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; |
|
2026
|
0 |
2559 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
513 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
5 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
8 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
13 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
8 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
9 |
if (shm_seqlock_read_retry(&hdr->seq, seq)) continue; |
|
|
0 |
10819 |
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; |
|
2029
|
2 |
2557 |
if (h->lru_accessed) |
|
|
1 |
512 |
if (h->lru_accessed) |
|
|
0 |
5 |
if (h->lru_accessed) |
|
|
0 |
8 |
if (h->lru_accessed) |
|
|
0 |
13 |
if (h->lru_accessed) |
|
|
0 |
8 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
|
41 |
10778 |
if (h->lru_accessed) |
|
|
0 |
8 |
if (h->lru_accessed) |
|
|
0 |
9 |
if (h->lru_accessed) |
|
2041
|
0 |
6 |
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 |
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 |
87 |
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; |
|
2056
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
2058
|
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); |
|
2076
|
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++) { |
|
|
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++) { |
|
2081
|
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 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
2082
|
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 |
2 |
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 */ |
|
2084
|
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)) { |
|
|
2 |
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)) { |
|
2086
|
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)) { |
|
2088
|
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); |
|
|
2 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
2 |
0 |
int found = !SHM_IS_EXPIRED(h, idx, now); |
|
|
1 |
1 |
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); |
|
2108
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
2 |
59 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
2110
|
0 |
11 |
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); |
|
2113
|
0 |
11 |
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) { |
|
|
2 |
59 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
2 |
if (h->expires_at) { |
|
2139
|
16 |
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++) { |
|
|
120 |
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++) { |
|
2144
|
3 |
13 |
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; |
|
|
31 |
89 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
1 |
1 |
if (st == SHM_EMPTY) break; |
|
2145
|
5 |
8 |
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 */ |
|
|
60 |
29 |
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 */ |
|
2147
|
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)) { |
|
|
28 |
1 |
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)) { |
|
2149
|
0 |
8 |
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; |
|
2157
|
0 |
11 |
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 |
59 |
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; |
|
2184
|
6770 |
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++) { |
|
|
16906 |
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++) { |
|
2189
|
1 |
6769 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
0 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
0 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
0 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
|
1 |
16905 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
590 |
if (st == SHM_EMPTY) return 0; |
|
|
0 |
1 |
if (st == SHM_EMPTY) return 0; |
|
2190
|
1762 |
5007 |
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; |
|
|
4110 |
12795 |
if (st != tag) continue; |
|
|
90 |
500 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
2192
|
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)) { |
|
|
12787 |
8 |
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)) { |
|
2194
|
5007 |
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)) { |
|
2196
|
0 |
5007 |
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 |
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); |
|
|
1 |
12786 |
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); |
|
2197
|
0 |
5007 |
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 |
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; |
|
|
0 |
12787 |
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; |
|
2213
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
1 |
12784 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
500 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
2215
|
1 |
5004 |
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); |
|
2227
|
5005 |
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); |
|
|
12785 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
500 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
|
1 |
0 |
if (rc) SHM_FN(maybe_shrink)(h); |
|
2249
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
2 |
14 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
2251
|
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); |
|
2256
|
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; |
|
|
8 |
8 |
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; |
|
2272
|
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++) { |
|
|
17 |
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++) { |
|
2277
|
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) { |
|
|
10 |
7 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
|
2 |
2 |
if (st == SHM_EMPTY) { |
|
2278
|
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; |
|
|
10 |
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; |
|
2281
|
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 |
7 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
2 |
if (st == SHM_TOMBSTONE) { |
|
2282
|
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; |
|
2285
|
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; |
|
|
1 |
6 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
2287
|
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)) { |
|
|
6 |
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)) { |
|
2289
|
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)) { |
|
2292
|
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)) { |
|
|
4 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
4 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
2 |
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)) { |
|
2294
|
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; |
|
|
2 |
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; |
|
2303
|
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 |
12 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
2 |
if (insert_pos == UINT32_MAX) { |
|
2309
|
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) |
|
|
1 |
11 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
1 |
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) |
|
2316
|
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)) { |
|
2323
|
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)) { |
|
2336
|
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--; |
|
|
2 |
10 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
2338
|
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); |
|
|
1 |
11 |
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); |
|
2339
|
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) { |
|
|
6 |
6 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
|
1 |
1 |
if (h->expires_at) { |
|
2340
|
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; |
|
|
2 |
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; |
|
2341
|
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; |
|
|
5 |
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; |
|
2388
|
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; |
|
2419
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
1 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
2421
|
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); |
|
2426
|
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; |
|
|
4 |
5 |
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; |
|
2440
|
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++) { |
|
|
10 |
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++) { |
|
2445
|
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; |
|
|
3 |
7 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
1 |
1 |
if (st == SHM_EMPTY) break; |
|
2446
|
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; |
|
|
1 |
6 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
2448
|
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)) { |
|
|
6 |
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)) { |
|
2450
|
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)) { |
|
2452
|
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)) { |
|
|
3 |
3 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
3 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
3 |
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)) { |
|
2463
|
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)) { |
|
2473
|
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 |
6 |
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); |
|
2474
|
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) { |
|
|
3 |
3 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
2475
|
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) { |
|
|
1 |
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) { |
|
2476
|
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) |
|
|
1 |
0 |
if (hdr->default_ttl > 0 && h->expires_at[idx] != 0) |
|
|
1 |
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) |
|
2479
|
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; |
|
2533
|
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; |
|
2565
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
1 |
7 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
2567
|
0 |
5 |
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); |
|
2572
|
0 |
5 |
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; |
|
|
1 |
7 |
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; |
|
2588
|
5 |
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++) { |
|
|
9 |
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++) { |
|
2593
|
2 |
3 |
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) { |
|
|
3 |
6 |
if (st == SHM_EMPTY) { |
|
|
0 |
1 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
2594
|
2 |
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; |
|
|
3 |
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; |
|
2597
|
0 |
3 |
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 |
6 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
2598
|
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; |
|
2601
|
0 |
3 |
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; |
|
|
1 |
5 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
2603
|
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)) { |
|
|
5 |
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)) { |
|
2605
|
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)) { |
|
|
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)) { |
|
2607
|
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 |
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)) { |
|
|
1 |
4 |
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 |
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)) { |
|
2609
|
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; |
|
2615
|
3 |
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); |
|
2616
|
0 |
3 |
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)) { |
|
2629
|
0 |
3 |
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)) { |
|
2641
|
0 |
3 |
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 |
5 |
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); |
|
2642
|
0 |
3 |
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) |
|
|
1 |
4 |
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 |
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) |
|
2652
|
0 |
2 |
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 |
3 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
0 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
2659
|
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 |
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) |
|
|
1 |
2 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
1 |
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) |
|
2666
|
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 |
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)) { |
|
2673
|
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 |
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)) { |
|
2686
|
0 |
2 |
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 |
3 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
0 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
2688
|
0 |
2 |
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); |
|
|
1 |
2 |
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); |
|
2689
|
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 |
1 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
3 |
if (h->expires_at) { |
|
|
0 |
0 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
2691
|
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; |
|
2714
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
1 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
2716
|
1 |
5 |
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 |
0 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
2721
|
0 |
6 |
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 |
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; |
|
|
1 |
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; |
|
2735
|
7 |
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++) { |
|
|
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++) { |
|
|
5 |
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++) { |
|
2740
|
1 |
6 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
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; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
1 |
4 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
2741
|
1 |
5 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
2 |
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 */ |
|
|
0 |
0 |
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 */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
0 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
2744
|
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)) { |
|
|
4 |
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)) { |
|
2746
|
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)) { |
|
|
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)) { |
|
2749
|
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 |
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 |
0 |
if (SHM_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)) { |
|
|
1 |
3 |
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 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
2760
|
5 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
|
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); |
|
2761
|
0 |
5 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
|
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)) { |
|
2774
|
0 |
5 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
2 |
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); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
3 |
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); |
|
2775
|
0 |
5 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
2 |
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; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
3 |
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; |
|
2808
|
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); |
|
2810
|
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); |
|
2815
|
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; |
|
2829
|
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++) { |
|
2834
|
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; |
|
2835
|
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; |
|
2837
|
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)) { |
|
2839
|
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)) { |
|
2841
|
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)) { |
|
2853
|
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) { |
|
2858
|
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)) { |
|
2868
|
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) { |
|
2875
|
0 |
2 |
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 |
0 |
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 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
0 |
2 |
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); |
|
2876
|
0 |
2 |
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 |
0 |
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 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
2 |
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; |
|
2904
|
0 |
2 |
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) { |
|
|
1 |
12 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
2905
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
2919
|
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; } |
|
|
1 |
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; } |
|
2926
|
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 |
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; |
|
|
2 |
10 |
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; |
|
2933
|
0 |
2 |
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) { |
|
|
5 |
7 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
5 |
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) { |
|
2936
|
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) { |
|
|
5 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
2937
|
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 |
5 |
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; } |
|
2944
|
2 |
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++) { |
|
|
79 |
2 |
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++) { |
|
2945
|
0 |
2 |
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; |
|
|
69 |
10 |
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; |
|
2946
|
0 |
2 |
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)) { |
|
|
6 |
4 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
5 |
1 |
if (SHM_IS_EXPIRED(h, i, now)) { |
|
|
5 |
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)) { |
|
2954
|
0 |
2 |
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) { |
|
|
2 |
10 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
2965
|
2 |
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); |
|
2966
|
0 |
2 |
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)) { |
|
2979
|
2 |
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); |
|
2981
|
2 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
2984
|
0 |
2 |
if (!shm_ensure_copy_buf(h, kl + vl + 1)) { |
|
2993
|
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)) { |
|
3008
|
0 |
2 |
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 |
0 |
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 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
5 |
5 |
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); |
|
3009
|
0 |
2 |
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 |
0 |
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 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
1 |
9 |
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; |
|
3032
|
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) { |
|
|
1 |
8 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
3033
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
3047
|
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; } |
|
|
1 |
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; } |
|
3054
|
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 |
8 |
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; |
|
3061
|
0 |
1 |
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) { |
|
|
3 |
5 |
if (h->lru_prev && hdr->lru_head != SHM_LRU_NONE) { |
|
|
3 |
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) { |
|
3064
|
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) { |
|
|
3 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
3065
|
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 |
3 |
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; } |
|
3072
|
3 |
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--) { |
|
|
37 |
1 |
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--) { |
|
3073
|
2 |
1 |
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; |
|
|
33 |
4 |
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; |
|
3074
|
0 |
1 |
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 |
4 |
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)) { |
|
3082
|
0 |
1 |
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) { |
|
|
1 |
7 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
|
0 |
0 |
if (idx == UINT32_MAX) { |
|
3093
|
1 |
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); |
|
3094
|
0 |
1 |
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)) { |
|
3107
|
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); |
|
|
0 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
3109
|
1 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[idx].key_len); |
|
3111
|
0 |
1 |
if (!shm_ensure_copy_buf(h, kl + vl + 1)) { |
|
3120
|
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)) { |
|
3135
|
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 |
0 |
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 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
3 |
4 |
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); |
|
3136
|
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 |
0 |
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 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
0 |
7 |
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; |
|
3170
|
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; |
|
|
1 |
5 |
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; |
|
3174
|
0 |
3 |
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 |
6 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
|
0 |
0 |
if (limit == 0) return 0; |
|
3180
|
10 |
2 |
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) { |
|
|
18 |
3 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
|
0 |
0 |
while (count < limit) { |
|
3183
|
0 |
10 |
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) { |
|
|
4 |
14 |
if (h->lru_prev && hdr->lru_tail != SHM_LRU_NONE) { |
|
|
4 |
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) { |
|
3185
|
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) { |
|
|
4 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
|
0 |
0 |
while (pos != SHM_LRU_NONE) { |
|
3186
|
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 |
4 |
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; } |
|
3192
|
25 |
1 |
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++) { |
|
|
72 |
3 |
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++) { |
|
3193
|
16 |
9 |
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; |
|
|
58 |
14 |
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; |
|
3194
|
0 |
9 |
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)) { |
|
|
4 |
10 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
3 |
1 |
if (SHM_IS_EXPIRED(h, scan_pos, now)) { |
|
|
3 |
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)) { |
|
3203
|
1 |
9 |
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; |
|
|
3 |
15 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
|
0 |
0 |
if (idx == UINT32_MAX) break; |
|
3210
|
9 |
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); |
|
3212
|
3 |
6 |
if (need > *buf_cap) { |
|
|
0 |
0 |
if (need > *buf_cap) { |
|
|
0 |
0 |
if (need > *buf_cap) { |
|
|
0 |
0 |
if (need > *buf_cap) { |
|
3213
|
0 |
3 |
uint32_t ns = *buf_cap ? *buf_cap * 2 : 4096; |
|
|
0 |
0 |
uint32_t ns = *buf_cap ? *buf_cap * 2 : 4096; |
|
|
0 |
0 |
uint32_t ns = *buf_cap ? *buf_cap * 2 : 4096; |
|
|
0 |
0 |
uint32_t ns = *buf_cap ? *buf_cap * 2 : 4096; |
|
3214
|
0 |
3 |
while (ns < need) ns *= 2; |
|
|
0 |
0 |
while (ns < need) ns *= 2; |
|
|
0 |
0 |
while (ns < need) ns *= 2; |
|
|
0 |
0 |
while (ns < need) ns *= 2; |
|
3216
|
0 |
3 |
if (!nb) break; |
|
|
0 |
0 |
if (!nb) break; |
|
|
0 |
0 |
if (!nb) break; |
|
|
0 |
0 |
if (!nb) break; |
|
3229
|
9 |
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); |
|
3231
|
0 |
9 |
if (need > *buf_cap) { |
|
|
0 |
0 |
if (need > *buf_cap) { |
|
|
0 |
0 |
if (need > *buf_cap) { |
|
|
0 |
0 |
if (need > *buf_cap) { |
|
3232
|
0 |
0 |
uint32_t ns = *buf_cap ? *buf_cap * 2 : 4096; |
|
|
0 |
0 |
uint32_t ns = *buf_cap ? *buf_cap * 2 : 4096; |
|
|
0 |
0 |
uint32_t ns = *buf_cap ? *buf_cap * 2 : 4096; |
|
|
0 |
0 |
uint32_t ns = *buf_cap ? *buf_cap * 2 : 4096; |
|
3233
|
0 |
0 |
while (ns < need) ns *= 2; |
|
|
0 |
0 |
while (ns < need) ns *= 2; |
|
|
0 |
0 |
while (ns < need) ns *= 2; |
|
|
0 |
0 |
while (ns < need) ns *= 2; |
|
3235
|
0 |
0 |
if (!nb) break; |
|
|
0 |
0 |
if (!nb) break; |
|
|
0 |
0 |
if (!nb) break; |
|
|
0 |
0 |
if (!nb) break; |
|
3248
|
0 |
9 |
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 |
0 |
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 |
0 |
if (h->lru_prev) shm_lru_unlink(h, idx); |
|
|
4 |
11 |
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); |
|
3249
|
0 |
9 |
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 |
0 |
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 |
0 |
if (h->expires_at) h->expires_at[idx] = 0; |
|
|
1 |
14 |
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; |
|
3254
|
3 |
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); |
|
|
5 |
1 |
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); |
|
3265
|
1 |
2 |
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) { |
|
|
1 |
5 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
3267
|
2 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
1 |
1 |
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++) { |
|
|
2 |
0 |
for (uint32_t i = 0; i < h->num_shards && total < limit; i++) { |
|
|
1 |
1 |
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++) { |
|
3273
|
1 |
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; |
|
|
1 |
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; |
|
3304
|
4 |
0 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
2 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
3 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
8 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
2 |
if (pos + 16 <= hdr->table_cap) { |
|
|
0 |
4 |
if (pos + 16 <= hdr->table_cap) { |
|
3307
|
4 |
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; |
|
|
0 |
0 |
uint16_t cutoff = emask ? (uint16_t)((1U << __builtin_ctz(emask)) - 1) : 0xFFFF; |
|
3309
|
3 |
1 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
|
0 |
0 |
while (relevant) { |
|
3313
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { *out_idx = idx; return 1; } |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { *out_idx = idx; return 1; } |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[idx], key)) { *out_idx = idx; return 1; } |
|
3315
|
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; } |
|
3319
|
1 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
|
0 |
0 |
if (emask) return 0; |
|
3324
|
0 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
3 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
8 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
2 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
|
4 |
0 |
for (uint32_t i = probe_start; i <= mask; i++) { |
|
3329
|
0 |
0 |
if (st == SHM_EMPTY) return 0; |
|
|
1 |
1 |
if (st == SHM_EMPTY) return 0; |
|
|
1 |
2 |
if (st == SHM_EMPTY) return 0; |
|
|
1 |
7 |
if (st == SHM_EMPTY) return 0; |
|
|
1 |
1 |
if (st == SHM_EMPTY) return 0; |
|
|
1 |
3 |
if (st == SHM_EMPTY) return 0; |
|
3330
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
7 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
3 |
if (st != tag) continue; |
|
3332
|
7 |
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)) { |
|
3334
|
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)) { |
|
|
2 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
3351
|
4 |
13 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
3353
|
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); |
|
3357
|
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; |
|
|
5 |
12 |
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; |
|
3360
|
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) { |
|
|
13 |
4 |
if (!h->lru_prev && !h->expires_at) { |
|
|
8 |
5 |
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) { |
|
3364
|
7 |
1 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
|
1 |
1 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
|
3 |
1 |
if (SHM_FN(find_slot)(h, key, &idx)) { |
|
3366
|
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)) { |
|
3392
|
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++) { |
|
|
10 |
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++) { |
|
3397
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
4 |
6 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
|
1 |
0 |
if (st == SHM_EMPTY) { |
|
3398
|
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; |
|
|
4 |
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; |
|
3401
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
6 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
0 |
if (st == SHM_TOMBSTONE) { |
|
3402
|
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; |
|
3405
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
6 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
3407
|
6 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
|
0 |
0 |
if (SHM_KEY_EQ(&nodes[slot], key)) { |
|
3409
|
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)) { |
|
3412
|
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)) { |
|
|
3 |
3 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
2 |
1 |
if (SHM_IS_EXPIRED(h, slot, now)) { |
|
|
2 |
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)) { |
|
3415
|
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; |
|
|
2 |
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; |
|
3421
|
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); |
|
|
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); |
|
3422
|
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) |
|
|
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) |
|
|
0 |
1 |
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) |
|
3431
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
6 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
3439
|
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) |
|
|
1 |
5 |
if (hdr->max_size > 0 && hdr->size >= hdr->max_size) |
|
|
0 |
1 |
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) |
|
3446
|
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)) { |
|
3456
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
2 |
4 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
3458
|
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); |
|
|
1 |
5 |
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); |
|
3459
|
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) |
|
|
4 |
2 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
4 |
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) |
|
3479
|
1 |
5 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
3481
|
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); |
|
3486
|
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; |
|
|
2 |
4 |
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; |
|
3500
|
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++) { |
|
|
6 |
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++) { |
|
3505
|
0 |
3 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
1 |
5 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
2 |
if (st == SHM_EMPTY) break; |
|
3506
|
0 |
3 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
|
0 |
2 |
if (st != tag) continue; |
|
3508
|
5 |
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)) { |
|
3510
|
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)) { |
|
3512
|
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)) { |
|
|
2 |
3 |
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 |
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)) { |
|
3519
|
2 |
1 |
if (nodes[idx].value == expected) { |
|
|
1 |
1 |
if (nodes[idx].value == expected) { |
|
|
1 |
1 |
if (nodes[idx].value == expected) { |
|
|
3 |
1 |
if (nodes[idx].value == expected) { |
|
|
1 |
1 |
if (nodes[idx].value == expected) { |
|
|
1 |
1 |
if (nodes[idx].value == expected) { |
|
3521
|
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 |
3 |
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); |
|
3522
|
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) |
|
|
1 |
2 |
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 |
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) |
|
3554
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key); |
|
3556
|
0 |
10 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
3561
|
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; |
|
3575
|
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++) { |
|
3580
|
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; |
|
3581
|
0 |
9 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
|
3 |
5 |
if (st != tag) continue; |
|
3583
|
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)) { |
|
3585
|
9 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
3587
|
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)) { |
|
3598
|
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) { |
|
3605
|
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, |
|
3612
|
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); |
|
3613
|
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) |
|
3630
|
2 |
26 |
if (h->shard_handles) { |
|
|
0 |
3 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
2 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
13 |
140 |
if (h->shard_handles) { |
|
|
0 |
2 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
3632
|
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++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
76 |
13 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
3634
|
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); |
|
|
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); |
|
|
13 |
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); |
|
3642
|
0 |
1 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
2 |
5 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_entries)(h->shard_handles[0]); |
|
3649
|
0 |
1 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
2 |
7 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(max_size)(h->shard_handles[0]); |
|
3654
|
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]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(ttl)(h->shard_handles[0]); |
|
|
2 |
7 |
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]); |
|
3680
|
0 |
3 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
3 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
3682
|
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); |
|
3687
|
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; |
|
|
1 |
2 |
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; |
|
3700
|
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++) { |
|
|
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++) { |
|
3705
|
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 |
2 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
3706
|
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 |
2 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
3708
|
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)) { |
|
|
2 |
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)) { |
|
3710
|
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)) { |
|
3712
|
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)) { |
|
|
1 |
1 |
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 |
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)) { |
|
3718
|
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); |
|
3719
|
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)) { |
|
3731
|
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) { |
|
|
1 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
|
0 |
0 |
if (out_ttl_remaining) { |
|
3732
|
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; |
|
|
1 |
0 |
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; |
|
3733
|
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; |
|
|
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; |
|
|
0 |
0 |
else if (h->expires_at[idx] == 0) *out_ttl_remaining = 0; |
|
3755
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
3 |
35 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
3757
|
0 |
6 |
SHM_SHARD_DISPATCH(h, key_str, key_len); |
|
|
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); |
|
3759
|
0 |
6 |
if (!h->expires_at) return -1; /* TTL not enabled */ |
|
|
0 |
1 |
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 |
37 |
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 */ |
|
3776
|
7 |
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++) { |
|
|
1 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i <= mask; i++) { |
|
|
39 |
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++) { |
|
3781
|
1 |
6 |
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 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
1 |
38 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
4 |
if (st == SHM_EMPTY) break; |
|
3782
|
1 |
5 |
if (st != tag) continue; /* tombstone or tag mismatch */ |
|
|
0 |
1 |
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 */ |
|
|
2 |
36 |
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 */ |
|
3784
|
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)) { |
|
|
36 |
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)) { |
|
3786
|
5 |
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)) { |
|
|
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)) { |
|
3789
|
0 |
5 |
if (exp == 0) { |
|
|
0 |
1 |
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) { |
|
|
12 |
24 |
if (exp == 0) { |
|
|
0 |
0 |
if (exp == 0) { |
|
|
1 |
3 |
if (exp == 0) { |
|
3794
|
0 |
5 |
if (now >= exp) { |
|
|
0 |
1 |
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 |
24 |
if (now >= exp) { |
|
|
0 |
0 |
if (now >= exp) { |
|
|
0 |
3 |
if (now >= exp) { |
|
3819
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
1 |
3 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
3821
|
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); |
|
3823
|
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 |
4 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
3841
|
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++) { |
|
|
4 |
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++) { |
|
3846
|
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; |
|
|
1 |
3 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
3847
|
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 |
3 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
3849
|
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)) { |
|
|
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)) { |
|
3851
|
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)) { |
|
3853
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (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)) { |
|
|
3 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
3 |
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)) { |
|
|
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)) { |
|
3884
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
1 |
4 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
1 |
SHM_SHARD_DISPATCH(h, key); |
|
3886
|
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); |
|
3888
|
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 |
5 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
1 |
if (!h->expires_at) return 0; |
|
3906
|
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++) { |
|
|
5 |
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++) { |
|
3911
|
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; |
|
|
1 |
4 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
1 |
if (st == SHM_EMPTY) break; |
|
3912
|
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 |
4 |
if (st != tag) continue; |
|
|
0 |
0 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
3914
|
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)) { |
|
|
4 |
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)) { |
|
3916
|
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)) { |
|
3918
|
0 |
0 |
if (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)) { |
|
|
4 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
3 |
1 |
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)) { |
|
|
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)) { |
|
3927
|
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) |
|
|
1 |
3 |
if (ttl_sec == 0) |
|
|
0 |
0 |
if (ttl_sec == 0) |
|
|
0 |
1 |
if (ttl_sec == 0) |
|
3944
|
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) { |
|
|
3 |
31 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
3946
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
12 |
3 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
3954
|
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) { |
|
|
2 |
15 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
3956
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
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++) |
|
3964
|
0 |
2 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
2 |
6 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
|
0 |
0 |
if (h->shard_handles) return SHM_FN(mmap_size)(h->shard_handles[0]); |
|
3975
|
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) { |
|
|
1 |
40 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
3978
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) { |
|
|
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++) { |
|
3981
|
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 |
4 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
|
0 |
0 |
if (!done) all_done = 0; |
|
3983
|
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; |
|
|
1 |
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; |
|
3986
|
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) { |
|
|
1 |
39 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
|
0 |
0 |
if (!h->expires_at) { |
|
3987
|
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 */ |
|
|
1 |
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 */ |
|
3990
|
1 |
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; |
|
|
39 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
|
0 |
0 |
if (done_out) *done_out = 0; |
|
4002
|
0 |
1 |
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 |
39 |
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 */ |
|
4003
|
0 |
1 |
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 |
39 |
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 */ |
|
4004
|
1 |
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 */ |
|
|
17 |
22 |
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 */ |
|
4006
|
16 |
1 |
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++) { |
|
|
900 |
39 |
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++) { |
|
4008
|
2 |
14 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
2 |
0 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
2 |
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]) { |
|
|
319 |
581 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
316 |
3 |
if (SHM_IS_LIVE(states[i]) && h->expires_at[i] != 0 && now >= h->expires_at[i]) { |
|
|
245 |
71 |
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]) { |
|
4016
|
0 |
1 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
22 |
17 |
int done = (limit >= cap || start + limit >= cap); |
|
|
2 |
20 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
|
0 |
0 |
int done = (limit >= cap || start + limit >= cap); |
|
4017
|
0 |
1 |
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; |
|
|
20 |
19 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
|
0 |
0 |
hdr->flush_cursor = done ? 0 : next; |
|
4019
|
1 |
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; |
|
|
39 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
|
0 |
0 |
if (done_out) *done_out = done; |
|
4023
|
1 |
0 |
if (done && flushed > 0) |
|
|
1 |
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) |
|
|
19 |
20 |
if (done && flushed > 0) |
|
|
9 |
10 |
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) |
|
4033
|
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) { |
|
|
1 |
11 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4035
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
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++) |
|
4039
|
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 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
1 |
10 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
|
0 |
0 |
if (!h->expires_at) return 0; |
|
4054
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
1 |
8 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
4056
|
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); |
|
4058
|
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 */ |
|
|
8 |
1 |
if (!h->lru_prev && !h->expires_at) return 0; /* nothing to do */ |
|
|
1 |
7 |
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 */ |
|
4063
|
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; |
|
|
7 |
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; |
|
4076
|
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++) { |
|
|
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++) { |
|
4081
|
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 |
7 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
|
0 |
0 |
if (st == SHM_EMPTY) break; |
|
4082
|
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 |
7 |
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 */ |
|
4084
|
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)) { |
|
|
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)) { |
|
4086
|
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)) { |
|
4088
|
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)) { |
|
|
6 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
5 |
1 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
1 |
4 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
0 |
0 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
4097
|
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 |
5 |
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); |
|
4098
|
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) { |
|
|
5 |
1 |
if (h->expires_at && hdr->default_ttl > 0 && h->expires_at[idx] != 0) { |
|
|
5 |
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) { |
|
|
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) { |
|
4114
|
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) { |
|
|
1 |
12 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4116
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
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++) |
|
4121
|
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; |
|
|
2 |
10 |
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; |
|
4124
|
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 |
10 |
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; |
|
4125
|
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 |
9 |
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 */ |
|
4126
|
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 */ |
|
|
1 |
8 |
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 */ |
|
4131
|
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) |
|
|
8 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
|
0 |
0 |
if (needed > hdr->table_cap) |
|
4141
|
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) { |
|
|
3 |
22 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4143
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
12 |
3 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
4151
|
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) { |
|
|
2 |
14 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4153
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
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++) |
|
4161
|
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) { |
|
|
2 |
10 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4163
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
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++) |
|
4171
|
0 |
5 |
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) { |
|
|
2 |
10 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4173
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
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++) |
|
4177
|
5 |
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 |
0 |
return h->arena ? __atomic_load_n(&h->hdr->arena_bump, __ATOMIC_RELAXED) : 0; |
|
|
0 |
10 |
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; |
|
4181
|
0 |
2 |
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) { |
|
|
2 |
10 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4183
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
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++) |
|
4187
|
2 |
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 |
0 |
return h->arena ? h->hdr->arena_cap : 0; |
|
|
0 |
10 |
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; |
|
4193
|
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) { |
|
|
2 |
25 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
|
0 |
1 |
if (h->shard_handles) { |
|
4194
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
20 |
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++) |
|
4208
|
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) { |
|
|
20 |
5 |
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) { |
|
4218
|
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 |
25 |
if (h->arena) { |
|
|
0 |
1 |
if (h->arena) { |
|
|
0 |
1 |
if (h->arena) { |
|
4225
|
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) { |
|
|
2 |
23 |
if (h->lru_prev) { |
|
|
0 |
1 |
if (h->lru_prev) { |
|
|
0 |
1 |
if (h->lru_prev) { |
|
4228
|
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); |
|
|
2 |
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); |
|
4234
|
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 |
25 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
|
0 |
1 |
if (h->expires_at) { |
|
4245
|
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) { |
|
|
1 |
24 |
if (h->iter_active) { |
|
|
0 |
1 |
if (h->iter_active) { |
|
|
0 |
1 |
if (h->iter_active) { |
|
4247
|
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--; |
|
4255
|
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) { |
|
|
1 |
5 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4256
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
0 |
0 |
for (uint32_t i = 0; i < h->num_shards; i++) |
|
|
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++) |
|
4261
|
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 |
4 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
|
0 |
0 |
if (h->iter_active) { |
|
4263
|
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--; |
|
4285
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
0 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
2 |
5 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
|
0 |
2 |
SHM_SHARD_DISPATCH(h, key); |
|
4287
|
0 |
8 |
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); |
|
4292
|
0 |
8 |
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; |
|
|
3 |
4 |
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; |
|
4308
|
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++) { |
|
|
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++) { |
|
|
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++) { |
|
4314
|
5 |
3 |
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) { |
|
|
2 |
5 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
|
1 |
1 |
if (st == SHM_EMPTY) { |
|
4315
|
5 |
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; |
|
|
2 |
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; |
|
4318
|
0 |
3 |
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 |
5 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
|
0 |
1 |
if (st == SHM_TOMBSTONE) { |
|
4319
|
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; |
|
4322
|
0 |
3 |
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; |
|
|
0 |
5 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
|
0 |
1 |
if (st != tag) continue; |
|
4324
|
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)) { |
|
|
5 |
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)) { |
|
4326
|
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)) { |
|
|
1 |
0 |
if (SHM_KEY_EQ_STR(&nodes[idx], h->arena, key_str, key_len, key_utf8)) { |
|
4329
|
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 |
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)) { |
|
|
3 |
2 |
if (SHM_IS_EXPIRED(h, idx, now)) { |
|
|
2 |
1 |
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 |
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)) { |
|
4331
|
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; |
|
4337
|
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); |
|
|
1 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[idx].val_len); |
|
4338
|
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)) { |
|
|
0 |
1 |
if (!shm_ensure_copy_buf(h, vl)) { |
|
4351
|
0 |
3 |
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 |
4 |
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); |
|
4352
|
0 |
3 |
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) |
|
|
2 |
2 |
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) |
|
4361
|
0 |
5 |
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) { |
|
|
0 |
3 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
|
0 |
1 |
if (insert_pos == UINT32_MAX) { |
|
4368
|
0 |
5 |
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 |
3 |
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) |
|
4376
|
0 |
5 |
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)) { |
|
4384
|
5 |
0 |
if (!shm_ensure_copy_buf(h, def_len > 0 ? def_len : 1)) { |
|
|
0 |
5 |
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)) { |
|
4392
|
0 |
5 |
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)) { |
|
4406
|
0 |
5 |
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--; |
|
|
1 |
2 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
|
0 |
1 |
if (was_tombstone) hdr->tombstones--; |
|
4408
|
0 |
5 |
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 |
3 |
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); |
|
4409
|
0 |
5 |
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) |
|
|
1 |
2 |
if (h->expires_at && hdr->default_ttl > 0) |
|
|
1 |
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) |
|
4440
|
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) { |
|
|
62 |
668 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
|
0 |
0 |
if (h->shard_handles) { |
|
4441
|
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) { |
|
|
68 |
2 |
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) { |
|
4454
|
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; |
|
|
60 |
8 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
|
0 |
0 |
if (rc) return 1; |
|
4464
|
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 |
668 |
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; |
|
4468
|
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) { |
|
|
22 |
646 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
|
0 |
0 |
if (!h->iter_active) { |
|
4475
|
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 |
668 |
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) { |
|
4480
|
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)) { |
|
|
649 |
19 |
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)) { |
|
4484
|
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 |
649 |
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)) |
|
4491
|
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); |
|
4493
|
2 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
4495
|
0 |
2 |
if (total64 > UINT32_MAX) { |
|
4498
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4506
|
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)) { |
|
4509
|
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--; |
|
4521
|
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); |
|
4523
|
2 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
4527
|
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)) { |
|
4530
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4550
|
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--; |
|
|
19 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4570
|
32 |
2 |
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) { |
|
|
766 |
14 |
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) { |
|
4575
|
0 |
32 |
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 |
766 |
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; |
|
4580
|
0 |
32 |
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 |
766 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
0 |
if (c->gen != hdr->table_gen) { |
|
|
0 |
0 |
if (c->gen != hdr->table_gen) { |
|
4585
|
27 |
5 |
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)) { |
|
|
731 |
35 |
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)) { |
|
4588
|
0 |
27 |
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 |
731 |
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)) |
|
4595
|
27 |
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); |
|
4597
|
27 |
0 |
uint32_t vl = SHM_STR_LEN(nodes[pos].val_len); |
|
4599
|
0 |
27 |
if (total64 > UINT32_MAX) { |
|
4607
|
0 |
27 |
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)) { |
|
4619
|
27 |
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); |
|
4621
|
27 |
0 |
uint32_t kl = SHM_STR_LEN(nodes[pos].key_len); |
|
4625
|
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)) { |
|
4646
|
5 |
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--; |
|
|
35 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
|
0 |
0 |
if (h->iterating > 0) h->iterating--; |
|
4649
|
2 |
3 |
if (c->shard_idx < c->shard_count) { |
|
|
1 |
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 |
0 |
if (c->shard_idx < c->shard_count) { |
|
|
1 |
0 |
if (c->shard_idx < c->shard_count) { |
|
|
14 |
21 |
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) { |
|
4663
|
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) |
|
|
2 |
0 |
if (c->current && c->current->iterating > 0) |
|
|
0 |
2 |
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) |
|
4668
|
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) { |
|
|
1 |
1 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |
|
|
0 |
0 |
if (c->handle->shard_handles) { |