| line |
true |
false |
branch |
|
711
|
1 |
16 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
0 |
17 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
713
|
0 |
17 |
if (!map) croak("Failed to create HashMap::I32"); |
|
721
|
17 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
17 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
17 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
728
|
150023 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
150023 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
150023 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
736
|
50009 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
50009 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
50009 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
738
|
5 |
50004 |
if (!hashmap_i32_get(self, key, &value)) XSRETURN_UNDEF; |
|
746
|
150004 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
150004 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
150004 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
754
|
3 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
762
|
7 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
7 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
7 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
764
|
2 |
5 |
if (!hashmap_i32_increment(self, key, &val)) |
|
773
|
5 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
775
|
2 |
3 |
if (!hashmap_i32_decrement(self, key, &val)) |
|
784
|
7 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
7 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
7 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
786
|
2 |
5 |
if (!hashmap_i32_increment_by(self, key, delta, &val)) |
|
795
|
6 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
796
|
0 |
6 |
RETVAL = self->size; |
|
803
|
0 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
804
|
0 |
0 |
RETVAL = self->max_size; |
|
811
|
0 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
812
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
819
|
2 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
820
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
821
|
0 |
2 |
EXTEND(SP, self->size); |
|
823
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
824
|
2 |
30 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
825
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
831
|
1 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
832
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
833
|
0 |
1 |
EXTEND(SP, self->size); |
|
835
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
836
|
2 |
14 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
837
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
843
|
1 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
844
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
845
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
847
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
848
|
2 |
14 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
849
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
850
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
857
|
14 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
14 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
14 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
858
|
0 |
14 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
859
|
72 |
4 |
while (self->iter_pos < self->capacity) { |
|
861
|
10 |
62 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
10 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
10 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
862
|
0 |
10 |
EXTEND(SP, 2); |
|
863
|
0 |
10 |
mXPUSHi(self->nodes[i].key); |
|
864
|
0 |
10 |
mXPUSHi(self->nodes[i].value); |
|
874
|
1 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
880
|
1 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
886
|
1 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
888
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
890
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
891
|
1 |
15 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
905
|
1 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
913
|
3 |
0 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32, "Data::HashMap::I32", self_sv); |
|
915
|
1 |
2 |
if (hashmap_i32_get(self, key, &value)) { |
|
918
|
1 |
1 |
if (!hashmap_i32_put(self, key, default_value, 0)) |
|
933
|
32 |
29 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
15 |
46 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
935
|
0 |
61 |
if (!map) croak("Failed to create HashMap::II"); |
|
943
|
61 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
61 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
61 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
950
|
382726 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
382726 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
382726 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
958
|
100153 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
100153 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
100153 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
960
|
19 |
100134 |
if (!hashmap_ii_get(self, key, &value)) XSRETURN_UNDEF; |
|
968
|
280020 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
280020 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
280020 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
976
|
10 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
10 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
10 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
984
|
15011 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
15011 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
15011 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
986
|
2 |
15009 |
if (!hashmap_ii_increment(self, key, &val)) |
|
995
|
5006 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
5006 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
5006 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
997
|
2 |
5004 |
if (!hashmap_ii_decrement(self, key, &val)) |
|
1006
|
8 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1008
|
2 |
6 |
if (!hashmap_ii_increment_by(self, key, delta, &val)) |
|
1017
|
31 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
31 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
31 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1018
|
0 |
31 |
RETVAL = self->size; |
|
1025
|
4 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1026
|
0 |
4 |
RETVAL = self->max_size; |
|
1033
|
5 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1034
|
0 |
5 |
RETVAL = (UV)self->default_ttl; |
|
1041
|
6 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1042
|
2 |
4 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1043
|
0 |
6 |
EXTEND(SP, self->size); |
|
1045
|
112 |
6 |
for (i = 0; i < self->capacity; i++) { |
|
1046
|
32 |
80 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
25 |
7 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
4 |
21 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
4 |
0 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
2 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
1047
|
0 |
23 |
mXPUSHi(self->nodes[i].key); |
|
1053
|
3 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1054
|
1 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1055
|
0 |
3 |
EXTEND(SP, self->size); |
|
1057
|
48 |
3 |
for (i = 0; i < self->capacity; i++) { |
|
1058
|
7 |
41 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
7 |
0 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
5 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
1059
|
0 |
5 |
mXPUSHi(self->nodes[i].value); |
|
1065
|
3 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1066
|
1 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1067
|
0 |
3 |
EXTEND(SP, self->size * 2); |
|
1069
|
48 |
3 |
for (i = 0; i < self->capacity; i++) { |
|
1070
|
7 |
41 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
7 |
0 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
5 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1071
|
0 |
5 |
mXPUSHi(self->nodes[i].key); |
|
1072
|
0 |
5 |
mXPUSHi(self->nodes[i].value); |
|
1079
|
24 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
24 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
24 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1080
|
0 |
24 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1081
|
109 |
5 |
while (self->iter_pos < self->capacity) { |
|
1083
|
20 |
89 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
19 |
1 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
19 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1084
|
0 |
19 |
EXTEND(SP, 2); |
|
1085
|
0 |
19 |
mXPUSHi(self->nodes[i].key); |
|
1086
|
0 |
19 |
mXPUSHi(self->nodes[i].value); |
|
1096
|
1 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1102
|
4 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1108
|
4 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1110
|
2 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1112
|
64 |
4 |
for (i = 0; i < self->capacity; i++) { |
|
1113
|
6 |
58 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
6 |
0 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
4 |
2 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
3 |
1 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
3 |
if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1127
|
8 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1135
|
9 |
0 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
9 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
|
0 |
9 |
EXTRACT_MAP(HashMapII, "Data::HashMap::II", self_sv); |
|
1137
|
2 |
7 |
if (hashmap_ii_get(self, key, &value)) { |
|
1140
|
0 |
7 |
if (!hashmap_ii_put(self, key, default_value, 0)) |
|
1155
|
1 |
8 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
0 |
9 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
1157
|
0 |
9 |
if (!map) croak("Failed to create HashMap::IS"); |
|
1165
|
9 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
9 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
9 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1172
|
80015 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
80015 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
80015 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1173
|
0 |
80015 |
EXTRACT_STR_VAL(value); |
|
1181
|
50009 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
50009 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
50009 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1185
|
3 |
50006 |
if (!hashmap_is_get(self, key, &val, &val_len, &val_utf8)) |
|
1188
|
1 |
50005 |
if (val_utf8) SvUTF8_on(RETVAL); |
|
1195
|
80004 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
80004 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
80004 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1203
|
3 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1211
|
5 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1212
|
0 |
5 |
RETVAL = self->size; |
|
1219
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1220
|
0 |
0 |
RETVAL = self->max_size; |
|
1227
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1228
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
1235
|
2 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1236
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1237
|
0 |
2 |
EXTEND(SP, self->size); |
|
1239
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
1240
|
2 |
30 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
1241
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
1247
|
1 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1248
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1249
|
0 |
1 |
EXTEND(SP, self->size); |
|
1251
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1252
|
2 |
14 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1253
|
2 |
0 |
if (self->nodes[i].value) { |
|
1256
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv); |
|
1257
|
0 |
2 |
mXPUSHs(sv); |
|
1259
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
1267
|
1 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1268
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1269
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
1271
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1272
|
2 |
14 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1273
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
1274
|
2 |
0 |
if (self->nodes[i].value) { |
|
1277
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv); |
|
1278
|
0 |
2 |
mXPUSHs(sv); |
|
1280
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
1288
|
3 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1289
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1290
|
16 |
1 |
while (self->iter_pos < self->capacity) { |
|
1292
|
2 |
14 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1293
|
0 |
2 |
EXTEND(SP, 2); |
|
1294
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
1295
|
2 |
0 |
if (self->nodes[i].value) { |
|
1298
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv); |
|
1299
|
0 |
2 |
mXPUSHs(vsv); |
|
1301
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
1312
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1318
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1324
|
1 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1326
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1328
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1329
|
1 |
15 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1334
|
1 |
0 |
: newSV(0); |
|
1335
|
1 |
0 |
if (self->nodes[i].value && vutf8) SvUTF8_on(val); |
|
|
0 |
1 |
if (self->nodes[i].value && vutf8) SvUTF8_on(val); |
|
1348
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1349
|
0 |
0 |
EXTRACT_STR_VAL(value); |
|
1357
|
2 |
0 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapIS, "Data::HashMap::IS", self_sv); |
|
1359
|
1 |
1 |
if (hashmap_is_get(self, key, &val, &val_len, &val_utf8)) { |
|
1361
|
0 |
1 |
if (val_utf8) SvUTF8_on(RETVAL); |
|
1363
|
0 |
1 |
EXTRACT_STR_VAL(default_sv); |
|
1364
|
0 |
1 |
if (!hashmap_is_put(self, key, _vstr, (uint32_t)_vlen, _vutf8, 0)) |
|
1379
|
2 |
16 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
1 |
17 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
1381
|
0 |
18 |
if (!map) croak("Failed to create HashMap::SI"); |
|
1389
|
18 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
18 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
18 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1396
|
80022 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
80022 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
80022 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1397
|
0 |
80022 |
EXTRACT_STR_KEY(key_sv); |
|
1405
|
50012 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
50012 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
50012 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1406
|
0 |
50012 |
EXTRACT_STR_KEY(key_sv); |
|
1408
|
3 |
50009 |
if (!hashmap_si_get(self, _kstr, (uint32_t)_klen, _khash, &value)) |
|
1417
|
80004 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
80004 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
80004 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1418
|
0 |
80004 |
EXTRACT_STR_KEY(key_sv); |
|
1426
|
2 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1427
|
0 |
2 |
EXTRACT_STR_KEY(key_sv); |
|
1435
|
15013 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
15013 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
15013 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1436
|
0 |
15013 |
EXTRACT_STR_KEY(key_sv); |
|
1438
|
1 |
15012 |
if (!hashmap_si_increment(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val)) |
|
1447
|
5004 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
5004 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
5004 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1448
|
0 |
5004 |
EXTRACT_STR_KEY(key_sv); |
|
1450
|
1 |
5003 |
if (!hashmap_si_decrement(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val)) |
|
1459
|
6 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1460
|
0 |
6 |
EXTRACT_STR_KEY(key_sv); |
|
1462
|
2 |
4 |
if (!hashmap_si_increment_by(self, _kstr, (uint32_t)_klen, _khash, _kutf8, delta, &val)) |
|
1471
|
4 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1472
|
0 |
4 |
RETVAL = self->size; |
|
1479
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1480
|
0 |
0 |
RETVAL = self->max_size; |
|
1487
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1488
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
1495
|
3 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1496
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1497
|
0 |
3 |
EXTEND(SP, self->size); |
|
1499
|
48 |
3 |
for (i = 0; i < self->capacity; i++) { |
|
1500
|
8 |
40 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
7 |
1 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
7 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1503
|
1 |
6 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
1504
|
0 |
7 |
mXPUSHs(sv); |
|
1511
|
1 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1512
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1513
|
0 |
1 |
EXTEND(SP, self->size); |
|
1515
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1516
|
2 |
14 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
1517
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
1523
|
2 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1524
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1525
|
0 |
2 |
EXTEND(SP, self->size * 2); |
|
1527
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
1528
|
8 |
24 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
7 |
1 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
7 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1531
|
1 |
6 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
1532
|
0 |
7 |
mXPUSHs(sv); |
|
1533
|
0 |
7 |
mXPUSHi(self->nodes[i].value); |
|
1540
|
3 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1541
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1542
|
16 |
1 |
while (self->iter_pos < self->capacity) { |
|
1544
|
2 |
14 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1545
|
0 |
2 |
EXTEND(SP, 2); |
|
1549
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv); |
|
1550
|
0 |
2 |
mXPUSHs(ksv); |
|
1552
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
1562
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1568
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1574
|
1 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1576
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1578
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1579
|
1 |
15 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1583
|
0 |
1 |
(void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0); |
|
1593
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1594
|
0 |
0 |
EXTRACT_STR_KEY(key_sv); |
|
1602
|
2 |
0 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI, "Data::HashMap::SI", self_sv); |
|
1603
|
0 |
2 |
EXTRACT_STR_KEY(key_sv); |
|
1605
|
1 |
1 |
if (hashmap_si_get(self, _kstr, (uint32_t)_klen, _khash, &value)) { |
|
1608
|
0 |
1 |
if (!hashmap_si_put(self, _kstr, (uint32_t)_klen, _khash, _kutf8, default_value, 0)) |
|
1623
|
2 |
14 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
1 |
15 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
1625
|
0 |
16 |
if (!map) croak("Failed to create HashMap::SS"); |
|
1633
|
16 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
16 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
16 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1640
|
80024 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
80024 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
80024 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1641
|
0 |
80024 |
EXTRACT_STR_KEY(key_sv); |
|
1642
|
0 |
80024 |
EXTRACT_STR_VAL(value); |
|
1651
|
50016 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
50016 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
50016 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1652
|
0 |
50016 |
EXTRACT_STR_KEY(key_sv); |
|
1656
|
5 |
50011 |
if (!hashmap_ss_get(self, _kstr, (uint32_t)_klen, _khash, &val, &val_len, &val_utf8)) |
|
1659
|
1 |
50010 |
if (val_utf8) SvUTF8_on(RETVAL); |
|
1666
|
80003 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
80003 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
80003 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1667
|
0 |
80003 |
EXTRACT_STR_KEY(key_sv); |
|
1675
|
2 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1676
|
0 |
2 |
EXTRACT_STR_KEY(key_sv); |
|
1684
|
7 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
7 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
7 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1685
|
0 |
7 |
RETVAL = self->size; |
|
1692
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1693
|
0 |
0 |
RETVAL = self->max_size; |
|
1700
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1701
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
1708
|
3 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1709
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1710
|
0 |
3 |
EXTEND(SP, self->size); |
|
1712
|
48 |
3 |
for (i = 0; i < self->capacity; i++) { |
|
1713
|
7 |
41 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
6 |
1 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
6 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1716
|
1 |
5 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
1717
|
0 |
6 |
mXPUSHs(sv); |
|
1724
|
1 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1725
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1726
|
0 |
1 |
EXTEND(SP, self->size); |
|
1728
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1729
|
2 |
14 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1730
|
2 |
0 |
if (self->nodes[i].value) { |
|
1733
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv); |
|
1734
|
0 |
2 |
mXPUSHs(sv); |
|
1736
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
1744
|
1 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1745
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1746
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
1748
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1749
|
2 |
14 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1752
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
1753
|
0 |
2 |
mXPUSHs(sv); |
|
1754
|
2 |
0 |
if (self->nodes[i].value) { |
|
1757
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv); |
|
1758
|
0 |
2 |
mXPUSHs(vsv); |
|
1760
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
1768
|
4 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1769
|
0 |
4 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1770
|
26 |
1 |
while (self->iter_pos < self->capacity) { |
|
1772
|
3 |
23 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
3 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
3 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1773
|
0 |
3 |
EXTEND(SP, 2); |
|
1777
|
1 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv); |
|
1778
|
0 |
3 |
mXPUSHs(ksv); |
|
1780
|
3 |
0 |
if (self->nodes[i].value) { |
|
1783
|
1 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv); |
|
1784
|
0 |
3 |
mXPUSHs(vsv); |
|
1786
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
1797
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1803
|
1 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1809
|
2 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1811
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1813
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
1814
|
3 |
29 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
3 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
3 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1821
|
3 |
0 |
: newSV(0); |
|
1822
|
3 |
0 |
if (self->nodes[i].value && vutf8) SvUTF8_on(val); |
|
|
1 |
2 |
if (self->nodes[i].value && vutf8) SvUTF8_on(val); |
|
1823
|
1 |
2 |
(void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0); |
|
1833
|
2 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1834
|
0 |
2 |
EXTRACT_STR_KEY(key_sv); |
|
1835
|
0 |
2 |
EXTRACT_STR_VAL(value); |
|
1844
|
2 |
0 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSS, "Data::HashMap::SS", self_sv); |
|
1845
|
0 |
2 |
EXTRACT_STR_KEY(key_sv); |
|
1847
|
1 |
1 |
if (hashmap_ss_get(self, _kstr, (uint32_t)_klen, _khash, &val, &val_len, &val_utf8)) { |
|
1849
|
0 |
1 |
if (val_utf8) SvUTF8_on(RETVAL); |
|
1851
|
0 |
1 |
EXTRACT_STR_VAL(default_sv); |
|
1852
|
0 |
1 |
if (!hashmap_ss_put(self, _kstr, (uint32_t)_klen, _khash, _kutf8, |
|
1868
|
1 |
7 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
0 |
8 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
1870
|
0 |
8 |
if (!map) croak("Failed to create HashMap::I32S"); |
|
1878
|
8 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1885
|
80015 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
80015 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
80015 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1886
|
0 |
80015 |
EXTRACT_STR_VAL(value); |
|
1894
|
50008 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
50008 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
50008 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1898
|
3 |
50005 |
if (!hashmap_i32s_get(self, key, &val, &val_len, &val_utf8)) |
|
1901
|
1 |
50004 |
if (val_utf8) SvUTF8_on(RETVAL); |
|
1908
|
80004 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
80004 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
80004 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1916
|
3 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1924
|
6 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1925
|
0 |
6 |
RETVAL = self->size; |
|
1932
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1933
|
0 |
0 |
RETVAL = self->max_size; |
|
1940
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1941
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
1948
|
2 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1949
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1950
|
0 |
2 |
EXTEND(SP, self->size); |
|
1952
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
1953
|
2 |
30 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
1954
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
1960
|
1 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1961
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1962
|
0 |
1 |
EXTEND(SP, self->size); |
|
1964
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1965
|
2 |
14 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1966
|
2 |
0 |
if (self->nodes[i].value) { |
|
1969
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv); |
|
1970
|
0 |
2 |
mXPUSHs(sv); |
|
1972
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
1980
|
1 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
1981
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
1982
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
1984
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
1985
|
2 |
14 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
1986
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
1987
|
2 |
0 |
if (self->nodes[i].value) { |
|
1990
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv); |
|
1991
|
0 |
2 |
mXPUSHs(sv); |
|
1993
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
2001
|
3 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
2002
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2003
|
16 |
1 |
while (self->iter_pos < self->capacity) { |
|
2005
|
2 |
14 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2006
|
0 |
2 |
EXTEND(SP, 2); |
|
2007
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
2008
|
2 |
0 |
if (self->nodes[i].value) { |
|
2011
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv); |
|
2012
|
0 |
2 |
mXPUSHs(vsv); |
|
2014
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
2025
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
2031
|
1 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
2037
|
1 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
2039
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2041
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2042
|
1 |
15 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2047
|
1 |
0 |
: newSV(0); |
|
2048
|
1 |
0 |
if (self->nodes[i].value && vutf8) SvUTF8_on(val); |
|
|
0 |
1 |
if (self->nodes[i].value && vutf8) SvUTF8_on(val); |
|
2061
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
2062
|
0 |
0 |
EXTRACT_STR_VAL(value); |
|
2070
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32S, "Data::HashMap::I32S", self_sv); |
|
2072
|
0 |
0 |
if (hashmap_i32s_get(self, key, &val, &val_len, &val_utf8)) { |
|
2074
|
0 |
0 |
if (val_utf8) SvUTF8_on(RETVAL); |
|
2076
|
0 |
0 |
EXTRACT_STR_VAL(default_sv); |
|
2077
|
0 |
0 |
if (!hashmap_i32s_put(self, key, _vstr, (uint32_t)_vlen, _vutf8, 0)) |
|
2092
|
1 |
11 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
0 |
12 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
2094
|
0 |
12 |
if (!map) croak("Failed to create HashMap::SI32"); |
|
2102
|
12 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
12 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
12 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2109
|
80019 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
80019 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
80019 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2110
|
0 |
80019 |
EXTRACT_STR_KEY(key_sv); |
|
2118
|
50008 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
50008 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
50008 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2119
|
0 |
50008 |
EXTRACT_STR_KEY(key_sv); |
|
2121
|
2 |
50006 |
if (!hashmap_si32_get(self, _kstr, (uint32_t)_klen, _khash, &value)) |
|
2130
|
80003 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
80003 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
80003 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2131
|
0 |
80003 |
EXTRACT_STR_KEY(key_sv); |
|
2139
|
2 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2140
|
0 |
2 |
EXTRACT_STR_KEY(key_sv); |
|
2148
|
10 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
10 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
10 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2149
|
0 |
10 |
EXTRACT_STR_KEY(key_sv); |
|
2151
|
1 |
9 |
if (!hashmap_si32_increment(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val)) |
|
2160
|
3 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2161
|
0 |
3 |
EXTRACT_STR_KEY(key_sv); |
|
2163
|
1 |
2 |
if (!hashmap_si32_decrement(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val)) |
|
2172
|
6 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2173
|
0 |
6 |
EXTRACT_STR_KEY(key_sv); |
|
2175
|
2 |
4 |
if (!hashmap_si32_increment_by(self, _kstr, (uint32_t)_klen, _khash, _kutf8, delta, &val)) |
|
2184
|
5 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2185
|
0 |
5 |
RETVAL = self->size; |
|
2192
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2193
|
0 |
0 |
RETVAL = self->max_size; |
|
2200
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2201
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
2208
|
3 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2209
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2210
|
0 |
3 |
EXTEND(SP, self->size); |
|
2212
|
48 |
3 |
for (i = 0; i < self->capacity; i++) { |
|
2213
|
8 |
40 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
7 |
1 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
7 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2216
|
1 |
6 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
2217
|
0 |
7 |
mXPUSHs(sv); |
|
2224
|
1 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2225
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2226
|
0 |
1 |
EXTEND(SP, self->size); |
|
2228
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2229
|
2 |
14 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
2230
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
2236
|
2 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2237
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2238
|
0 |
2 |
EXTEND(SP, self->size * 2); |
|
2240
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
2241
|
8 |
24 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
7 |
1 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
7 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2244
|
1 |
6 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
2245
|
0 |
7 |
mXPUSHs(sv); |
|
2246
|
0 |
7 |
mXPUSHi(self->nodes[i].value); |
|
2253
|
3 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2254
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2255
|
16 |
1 |
while (self->iter_pos < self->capacity) { |
|
2257
|
2 |
14 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2258
|
0 |
2 |
EXTEND(SP, 2); |
|
2262
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv); |
|
2263
|
0 |
2 |
mXPUSHs(ksv); |
|
2265
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
2275
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2281
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2287
|
1 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2289
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2291
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2292
|
1 |
15 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI32_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2296
|
0 |
1 |
(void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0); |
|
2306
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2307
|
0 |
0 |
EXTRACT_STR_KEY(key_sv); |
|
2315
|
1 |
0 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI32, "Data::HashMap::SI32", self_sv); |
|
2316
|
0 |
1 |
EXTRACT_STR_KEY(key_sv); |
|
2318
|
0 |
1 |
if (hashmap_si32_get(self, _kstr, (uint32_t)_klen, _khash, &value)) { |
|
2321
|
0 |
1 |
if (!hashmap_si32_put(self, _kstr, (uint32_t)_klen, _khash, _kutf8, default_value, 0)) |
|
2336
|
2 |
13 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
1 |
14 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
2338
|
0 |
15 |
if (!map) croak("Failed to create HashMap::I16"); |
|
2346
|
15 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
15 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
15 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2353
|
81025 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
81025 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
81025 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2361
|
30012 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
30012 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
30012 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2363
|
6 |
30006 |
if (!hashmap_i16_get(self, key, &value)) XSRETURN_UNDEF; |
|
2371
|
80005 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
80005 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
80005 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2379
|
4 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2387
|
8 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2389
|
2 |
6 |
if (!hashmap_i16_increment(self, key, &val)) |
|
2398
|
6 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2400
|
2 |
4 |
if (!hashmap_i16_decrement(self, key, &val)) |
|
2409
|
8 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2411
|
2 |
6 |
if (!hashmap_i16_increment_by(self, key, delta, &val)) |
|
2420
|
8 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2421
|
0 |
8 |
RETVAL = self->size; |
|
2428
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2429
|
0 |
0 |
RETVAL = self->max_size; |
|
2436
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2437
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
2444
|
3 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2445
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2446
|
0 |
3 |
EXTEND(SP, self->size); |
|
2448
|
48 |
3 |
for (i = 0; i < self->capacity; i++) { |
|
2449
|
4 |
44 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
4 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
4 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
2450
|
0 |
4 |
mXPUSHi(self->nodes[i].key); |
|
2456
|
2 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2457
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2458
|
0 |
2 |
EXTEND(SP, self->size); |
|
2460
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
2461
|
4 |
28 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
4 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
4 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
2462
|
0 |
4 |
mXPUSHi(self->nodes[i].value); |
|
2468
|
1 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2469
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2470
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
2472
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2473
|
2 |
14 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2474
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
2475
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
2482
|
3 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2483
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2484
|
16 |
1 |
while (self->iter_pos < self->capacity) { |
|
2486
|
2 |
14 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2487
|
0 |
2 |
EXTEND(SP, 2); |
|
2488
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
2489
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
2499
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2505
|
1 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2511
|
1 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2513
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2515
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2516
|
1 |
15 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2530
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2538
|
3 |
0 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16, "Data::HashMap::I16", self_sv); |
|
2540
|
1 |
2 |
if (hashmap_i16_get(self, key, &value)) { |
|
2543
|
1 |
1 |
if (!hashmap_i16_put(self, key, default_value, 0)) |
|
2558
|
1 |
7 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
0 |
8 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
2560
|
0 |
8 |
if (!map) croak("Failed to create HashMap::I16S"); |
|
2568
|
8 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2575
|
60014 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
60014 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
60014 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2576
|
0 |
60014 |
EXTRACT_STR_VAL(value); |
|
2584
|
30007 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
30007 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
30007 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2588
|
3 |
30004 |
if (!hashmap_i16s_get(self, key, &val, &val_len, &val_utf8)) |
|
2591
|
1 |
30003 |
if (val_utf8) SvUTF8_on(RETVAL); |
|
2598
|
60004 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
60004 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
60004 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2606
|
4 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2614
|
8 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2615
|
0 |
8 |
RETVAL = self->size; |
|
2622
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2623
|
0 |
0 |
RETVAL = self->max_size; |
|
2630
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2631
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
2638
|
2 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2639
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2640
|
0 |
2 |
EXTEND(SP, self->size); |
|
2642
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
2643
|
2 |
30 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
2644
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
2650
|
1 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2651
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2652
|
0 |
1 |
EXTEND(SP, self->size); |
|
2654
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2655
|
2 |
14 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2656
|
2 |
0 |
if (self->nodes[i].value) { |
|
2659
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv); |
|
2660
|
0 |
2 |
mXPUSHs(sv); |
|
2662
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
2670
|
1 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2671
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2672
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
2674
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2675
|
2 |
14 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2676
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
2677
|
2 |
0 |
if (self->nodes[i].value) { |
|
2680
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv); |
|
2681
|
0 |
2 |
mXPUSHs(sv); |
|
2683
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
2691
|
3 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2692
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2693
|
16 |
1 |
while (self->iter_pos < self->capacity) { |
|
2695
|
2 |
14 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2696
|
0 |
2 |
EXTEND(SP, 2); |
|
2697
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
2698
|
2 |
0 |
if (self->nodes[i].value) { |
|
2701
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv); |
|
2702
|
0 |
2 |
mXPUSHs(vsv); |
|
2704
|
0 |
0 |
XPUSHs(&PL_sv_undef); |
|
2715
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2721
|
1 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2727
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2729
|
0 |
0 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2731
|
0 |
0 |
for (i = 0; i < self->capacity; i++) { |
|
2732
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16S_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2737
|
0 |
0 |
: newSV(0); |
|
2738
|
0 |
0 |
if (self->nodes[i].value && vutf8) SvUTF8_on(val); |
|
|
0 |
0 |
if (self->nodes[i].value && vutf8) SvUTF8_on(val); |
|
2751
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2752
|
0 |
0 |
EXTRACT_STR_VAL(value); |
|
2760
|
1 |
0 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16S, "Data::HashMap::I16S", self_sv); |
|
2762
|
0 |
1 |
if (hashmap_i16s_get(self, key, &val, &val_len, &val_utf8)) { |
|
2764
|
0 |
0 |
if (val_utf8) SvUTF8_on(RETVAL); |
|
2766
|
0 |
1 |
EXTRACT_STR_VAL(default_sv); |
|
2767
|
0 |
1 |
if (!hashmap_i16s_put(self, key, _vstr, (uint32_t)_vlen, _vutf8, 0)) |
|
2782
|
2 |
9 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
1 |
10 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
2784
|
0 |
11 |
if (!map) croak("Failed to create HashMap::SI16"); |
|
2792
|
11 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
11 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
11 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2799
|
80019 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
80019 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
80019 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2800
|
0 |
80019 |
EXTRACT_STR_KEY(key_sv); |
|
2808
|
50008 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
50008 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
50008 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2809
|
0 |
50008 |
EXTRACT_STR_KEY(key_sv); |
|
2811
|
3 |
50005 |
if (!hashmap_si16_get(self, _kstr, (uint32_t)_klen, _khash, &value)) |
|
2820
|
80003 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
80003 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
80003 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2821
|
0 |
80003 |
EXTRACT_STR_KEY(key_sv); |
|
2829
|
4 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2830
|
0 |
4 |
EXTRACT_STR_KEY(key_sv); |
|
2838
|
8 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
8 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2839
|
0 |
8 |
EXTRACT_STR_KEY(key_sv); |
|
2841
|
1 |
7 |
if (!hashmap_si16_increment(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val)) |
|
2850
|
5 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2851
|
0 |
5 |
EXTRACT_STR_KEY(key_sv); |
|
2853
|
1 |
4 |
if (!hashmap_si16_decrement(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val)) |
|
2862
|
6 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2863
|
0 |
6 |
EXTRACT_STR_KEY(key_sv); |
|
2865
|
2 |
4 |
if (!hashmap_si16_increment_by(self, _kstr, (uint32_t)_klen, _khash, _kutf8, delta, &val)) |
|
2874
|
6 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2875
|
0 |
6 |
RETVAL = self->size; |
|
2882
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2883
|
0 |
0 |
RETVAL = self->max_size; |
|
2890
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2891
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
2898
|
2 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2899
|
0 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2900
|
0 |
2 |
EXTEND(SP, self->size); |
|
2902
|
32 |
2 |
for (i = 0; i < self->capacity; i++) { |
|
2903
|
2 |
30 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2906
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
2907
|
0 |
2 |
mXPUSHs(sv); |
|
2914
|
1 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2915
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2916
|
0 |
1 |
EXTEND(SP, self->size); |
|
2918
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2919
|
2 |
14 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
2920
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
2926
|
1 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2927
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2928
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
2930
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2931
|
2 |
14 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2934
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
2935
|
0 |
2 |
mXPUSHs(sv); |
|
2936
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
2943
|
3 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2944
|
0 |
3 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2945
|
16 |
1 |
while (self->iter_pos < self->capacity) { |
|
2947
|
2 |
14 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2948
|
0 |
2 |
EXTEND(SP, 2); |
|
2952
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv); |
|
2953
|
0 |
2 |
mXPUSHs(ksv); |
|
2955
|
0 |
2 |
mXPUSHi(self->nodes[i].value); |
|
2965
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2971
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2977
|
1 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2979
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
2981
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
2982
|
1 |
15 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SI16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
2986
|
0 |
1 |
(void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0); |
|
2996
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
2997
|
0 |
0 |
EXTRACT_STR_KEY(key_sv); |
|
3005
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSI16, "Data::HashMap::SI16", self_sv); |
|
3006
|
0 |
0 |
EXTRACT_STR_KEY(key_sv); |
|
3008
|
0 |
0 |
if (hashmap_si16_get(self, _kstr, (uint32_t)_klen, _khash, &value)) { |
|
3011
|
0 |
0 |
if (!hashmap_si16_put(self, _kstr, (uint32_t)_klen, _khash, _kutf8, default_value, 0)) |
|
3026
|
2 |
8 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
1 |
9 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
3028
|
0 |
10 |
if (!map) croak("Failed to create HashMap::I32A"); |
|
3037
|
10 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
10 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
10 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3044
|
23 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
23 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
23 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3047
|
2 |
21 |
if (!RETVAL) SvREFCNT_dec(value); |
|
3054
|
12 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
12 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
12 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3056
|
3 |
9 |
if (!hashmap_i32a_get(self, key, &val)) XSRETURN_UNDEF; |
|
3064
|
3 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3072
|
3 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3080
|
6 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3081
|
0 |
6 |
RETVAL = self->size; |
|
3088
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3089
|
0 |
0 |
RETVAL = self->max_size; |
|
3096
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3097
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
3104
|
1 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3105
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3106
|
0 |
1 |
EXTEND(SP, self->size); |
|
3108
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3109
|
2 |
14 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
3110
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
3116
|
1 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3117
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3118
|
0 |
1 |
EXTEND(SP, self->size); |
|
3120
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3121
|
2 |
14 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3122
|
2 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3123
|
0 |
2 |
mXPUSHs(sv); |
|
3130
|
1 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3131
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3132
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
3134
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3135
|
2 |
14 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3136
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
3137
|
2 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3138
|
0 |
2 |
mXPUSHs(sv); |
|
3145
|
6 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3146
|
0 |
6 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3147
|
32 |
2 |
while (self->iter_pos < self->capacity) { |
|
3149
|
4 |
28 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
4 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
4 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3150
|
0 |
4 |
EXTEND(SP, 2); |
|
3151
|
0 |
4 |
mXPUSHi(self->nodes[i].key); |
|
3152
|
4 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3153
|
0 |
4 |
mXPUSHs(sv); |
|
3163
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3169
|
1 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3175
|
1 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3177
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3179
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3180
|
1 |
15 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3181
|
1 |
0 |
SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3194
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3197
|
0 |
0 |
if (!RETVAL) SvREFCNT_dec(value); |
|
3204
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI32A, "Data::HashMap::I32A", self_sv); |
|
3206
|
0 |
0 |
if (hashmap_i32a_get(self, key, &val)) { |
|
3210
|
0 |
0 |
if (!hashmap_i32a_put(self, key, (void*)default_value, 0)) { |
|
3227
|
2 |
8 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
1 |
9 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
3229
|
0 |
10 |
if (!map) croak("Failed to create HashMap::I16A"); |
|
3238
|
10 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
10 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
10 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3245
|
23 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
23 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
23 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3248
|
2 |
21 |
if (!RETVAL) SvREFCNT_dec(value); |
|
3255
|
12 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
12 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
12 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3257
|
3 |
9 |
if (!hashmap_i16a_get(self, key, &val)) XSRETURN_UNDEF; |
|
3265
|
3 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3273
|
3 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3281
|
6 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3282
|
0 |
6 |
RETVAL = self->size; |
|
3289
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3290
|
0 |
0 |
RETVAL = self->max_size; |
|
3297
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3298
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
3305
|
1 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3306
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3307
|
0 |
1 |
EXTEND(SP, self->size); |
|
3309
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3310
|
2 |
14 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
2 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
2 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
3311
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
3317
|
1 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3318
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3319
|
0 |
1 |
EXTEND(SP, self->size); |
|
3321
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3322
|
2 |
14 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3323
|
2 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3324
|
0 |
2 |
mXPUSHs(sv); |
|
3331
|
1 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3332
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3333
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
3335
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3336
|
2 |
14 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3337
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
3338
|
2 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3339
|
0 |
2 |
mXPUSHs(sv); |
|
3346
|
6 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3347
|
0 |
6 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3348
|
32 |
2 |
while (self->iter_pos < self->capacity) { |
|
3350
|
4 |
28 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
4 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
4 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3351
|
0 |
4 |
EXTEND(SP, 2); |
|
3352
|
0 |
4 |
mXPUSHi(self->nodes[i].key); |
|
3353
|
4 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3354
|
0 |
4 |
mXPUSHs(sv); |
|
3364
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3370
|
1 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3376
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3378
|
0 |
0 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3380
|
0 |
0 |
for (i = 0; i < self->capacity; i++) { |
|
3381
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (I16A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3382
|
0 |
0 |
SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3395
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3398
|
0 |
0 |
if (!RETVAL) SvREFCNT_dec(value); |
|
3405
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapI16A, "Data::HashMap::I16A", self_sv); |
|
3407
|
0 |
0 |
if (hashmap_i16a_get(self, key, &val)) { |
|
3411
|
0 |
0 |
if (!hashmap_i16a_put(self, key, (void*)default_value, 0)) { |
|
3428
|
2 |
13 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
1 |
14 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
3430
|
0 |
15 |
if (!map) croak("Failed to create HashMap::IA"); |
|
3439
|
15 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
15 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
15 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3446
|
26 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
26 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
26 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3449
|
2 |
24 |
if (!RETVAL) SvREFCNT_dec(value); |
|
3456
|
16 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
16 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
16 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3458
|
5 |
11 |
if (!hashmap_ia_get(self, key, &val)) XSRETURN_UNDEF; |
|
3466
|
3 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3474
|
4 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
4 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3482
|
6 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3483
|
0 |
6 |
RETVAL = self->size; |
|
3490
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3491
|
0 |
0 |
RETVAL = self->max_size; |
|
3498
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3499
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
3506
|
3 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3507
|
1 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3508
|
0 |
3 |
EXTEND(SP, self->size); |
|
3510
|
48 |
3 |
for (i = 0; i < self->capacity; i++) { |
|
3511
|
4 |
44 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
3 |
1 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
1 |
2 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
1 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
|
0 |
1 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) |
|
3512
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
3518
|
1 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3519
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3520
|
0 |
1 |
EXTEND(SP, self->size); |
|
3522
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3523
|
2 |
14 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3524
|
2 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3525
|
0 |
2 |
mXPUSHs(sv); |
|
3532
|
1 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3533
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3534
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
3536
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3537
|
2 |
14 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3538
|
0 |
2 |
mXPUSHi(self->nodes[i].key); |
|
3539
|
2 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3540
|
0 |
2 |
mXPUSHs(sv); |
|
3547
|
6 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3548
|
0 |
6 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3549
|
32 |
2 |
while (self->iter_pos < self->capacity) { |
|
3551
|
4 |
28 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
4 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
4 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3552
|
0 |
4 |
EXTEND(SP, 2); |
|
3553
|
0 |
4 |
mXPUSHi(self->nodes[i].key); |
|
3554
|
4 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3555
|
0 |
4 |
mXPUSHs(sv); |
|
3565
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3571
|
1 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3577
|
1 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3579
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3581
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3582
|
1 |
15 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3583
|
1 |
0 |
SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3596
|
1 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3599
|
0 |
1 |
if (!RETVAL) SvREFCNT_dec(value); |
|
3606
|
2 |
0 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapIA, "Data::HashMap::IA", self_sv); |
|
3608
|
1 |
1 |
if (hashmap_ia_get(self, key, &val)) { |
|
3612
|
0 |
1 |
if (!hashmap_ia_put(self, key, (void*)default_value, 0)) { |
|
3629
|
2 |
15 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
|
1 |
16 |
EXTRACT_NEW_ARGS(_max_size, _ttl); |
|
3631
|
0 |
17 |
if (!map) croak("Failed to create HashMap::SA"); |
|
3640
|
17 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
17 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
17 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3647
|
27 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
27 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
27 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3648
|
0 |
27 |
EXTRACT_STR_KEY(key_sv); |
|
3651
|
0 |
27 |
if (!RETVAL) SvREFCNT_dec(value); |
|
3658
|
18 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
18 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
18 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3659
|
0 |
18 |
EXTRACT_STR_KEY(key_sv); |
|
3661
|
4 |
14 |
if (!hashmap_sa_get(self, _kstr, (uint32_t)_klen, _khash, &val)) |
|
3670
|
3 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3671
|
0 |
3 |
EXTRACT_STR_KEY(key_sv); |
|
3679
|
5 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
5 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3680
|
0 |
5 |
EXTRACT_STR_KEY(key_sv); |
|
3688
|
6 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3689
|
0 |
6 |
RETVAL = self->size; |
|
3696
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3697
|
0 |
0 |
RETVAL = self->max_size; |
|
3704
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3705
|
0 |
0 |
RETVAL = (UV)self->default_ttl; |
|
3712
|
3 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
3 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3713
|
1 |
2 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3714
|
0 |
3 |
EXTEND(SP, self->size); |
|
3716
|
48 |
3 |
for (i = 0; i < self->capacity; i++) { |
|
3717
|
4 |
44 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
3 |
1 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
2 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3720
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv); |
|
3721
|
0 |
2 |
mXPUSHs(sv); |
|
3728
|
1 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3729
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3730
|
0 |
1 |
EXTEND(SP, self->size); |
|
3732
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3733
|
2 |
14 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3734
|
2 |
0 |
SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3735
|
0 |
2 |
mXPUSHs(sv); |
|
3742
|
1 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3743
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3744
|
0 |
1 |
EXTEND(SP, self->size * 2); |
|
3746
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3747
|
2 |
14 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
2 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
2 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3750
|
0 |
2 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv); |
|
3751
|
0 |
2 |
mXPUSHs(ksv); |
|
3752
|
2 |
0 |
SV* vsv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3753
|
0 |
2 |
mXPUSHs(vsv); |
|
3760
|
6 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
6 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3761
|
0 |
6 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3762
|
32 |
2 |
while (self->iter_pos < self->capacity) { |
|
3764
|
4 |
28 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
4 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
4 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3765
|
0 |
4 |
EXTEND(SP, 2); |
|
3769
|
0 |
4 |
if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv); |
|
3770
|
0 |
4 |
mXPUSHs(ksv); |
|
3772
|
4 |
0 |
SV* vsv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3773
|
0 |
4 |
mXPUSHs(vsv); |
|
3783
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3789
|
1 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3795
|
1 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3797
|
0 |
1 |
uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0; |
|
3799
|
16 |
1 |
for (i = 0; i < self->capacity; i++) { |
|
3800
|
1 |
15 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
1 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
1 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
|
0 |
0 |
if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) { |
|
3803
|
1 |
0 |
SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef; |
|
3804
|
0 |
1 |
(void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0); |
|
3814
|
1 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
1 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3815
|
0 |
1 |
EXTRACT_STR_KEY(key_sv); |
|
3818
|
0 |
1 |
if (!RETVAL) SvREFCNT_dec(value); |
|
3825
|
2 |
0 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
|
0 |
2 |
EXTRACT_MAP(HashMapSA, "Data::HashMap::SA", self_sv); |
|
3826
|
0 |
2 |
EXTRACT_STR_KEY(key_sv); |
|
3828
|
1 |
1 |
if (hashmap_sa_get(self, _kstr, (uint32_t)_klen, _khash, &val)) { |
|
3832
|
0 |
1 |
if (!hashmap_sa_put(self, _kstr, (uint32_t)_klen, _khash, _kutf8, (void*)default_value, 0)) { |