Branch Coverage

HashMap.xs
Criterion Covered Total %
branch 1848 3958 46.6


line true false branch
79 1 8 if (is_utf8) SvUTF8_on(sv);
775 1 20 EXTRACT_NEW_ARGS(_max_size, _ttl);
0 21 EXTRACT_NEW_ARGS(_max_size, _ttl);
777 0 21 if (!map) croak("Failed to create HashMap::I32");
785 21 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
21 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 21 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 21 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
792 150225 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
150225 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 150225 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 150225 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
800 50010 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
50010 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 50010 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 50010 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
802 5 50005 if (!hashmap_i32_get(self, key, &value)) XSRETURN_UNDEF;
810 150004 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
150004 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 150004 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 150004 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
818 3 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
3 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 3 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 3 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
826 9 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
9 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 9 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 9 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
828 2 7 if (!hashmap_i32_increment(self, key, &val))
837 9 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
9 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 9 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 9 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
839 3 6 if (!hashmap_i32_decrement(self, key, &val))
848 9 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
9 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 9 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 9 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
850 2 7 if (!hashmap_i32_increment_by(self, key, delta, &val))
859 6 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
6 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 6 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 6 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
860 0 6 RETVAL = self->size;
867 0 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
868 0 0 RETVAL = self->max_size;
875 0 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
876 0 0 RETVAL = (UV)self->default_ttl;
883 2 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
2 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 2 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 2 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
884 0 2 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
885 0 2 EXTEND(SP, self->size);
887 32 2 for (i = 0; i < self->capacity; i++) {
888 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))
889 0 2 mXPUSHi(self->nodes[i].key);
895 1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
896 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
897 0 1 EXTEND(SP, self->size);
899 16 1 for (i = 0; i < self->capacity; i++) {
900 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))
901 0 2 mXPUSHi(self->nodes[i].value);
907 1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
908 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
909 0 1 EXTEND(SP, self->size * 2);
911 16 1 for (i = 0; i < self->capacity; i++) {
912 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)) {
913 0 2 mXPUSHi(self->nodes[i].key);
914 0 2 mXPUSHi(self->nodes[i].value);
921 14 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
14 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 14 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 14 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
922 0 14 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
923 67 4 while (self->iter_pos < self->capacity) {
925 10 57 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)) {
926 0 10 EXTEND(SP, 2);
927 0 10 mXPUSHi(self->nodes[i].key);
928 0 10 if (GIMME_V == G_SCALAR) XSRETURN(1);
929 0 10 mXPUSHi(self->nodes[i].value);
939 1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
945 3 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
3 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 3 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 3 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
951 1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
953 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
955 16 1 for (i = 0; i < self->capacity; i++) {
956 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)) {
970 1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
1 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 1 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
978 3 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
3 0 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 3 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
0 3 EXTRACT_MAP(HashMapI32, stash_i32, "Data::HashMap::I32", self_sv);
982 1 2 if (idx >= self->capacity) XSRETURN_UNDEF;
995 37 37 EXTRACT_NEW_ARGS(_max_size, _ttl);
18 56 EXTRACT_NEW_ARGS(_max_size, _ttl);
997 0 74 if (!map) croak("Failed to create HashMap::II");
1005 74 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
74 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 74 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 74 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1012 383157 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
383157 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 383157 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 383157 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1020 100164 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
100164 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 100164 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 100164 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1022 26 100138 if (!hashmap_ii_get(self, key, &value)) XSRETURN_UNDEF;
1030 280022 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
280022 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 280022 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 280022 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1038 10 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
10 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 10 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 10 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1046 15014 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
15014 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 15014 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 15014 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1048 3 15011 if (!hashmap_ii_increment(self, key, &val))
1057 5006 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
5006 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 5006 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 5006 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1059 2 5004 if (!hashmap_ii_decrement(self, key, &val))
1068 8 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
8 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 8 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 8 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1070 2 6 if (!hashmap_ii_increment_by(self, key, delta, &val))
1079 33 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
33 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 33 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 33 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1080 0 33 RETVAL = self->size;
1087 4 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
4 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 4 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 4 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1088 0 4 RETVAL = self->max_size;
1095 5 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
5 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 5 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 5 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1096 0 5 RETVAL = (UV)self->default_ttl;
1103 9 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
9 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 9 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 9 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1104 3 6 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1105 0 9 EXTEND(SP, self->size);
1107 640 9 for (i = 0; i < self->capacity; i++) {
1108 233 407 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
225 8 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
6 219 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))
2 4 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
1109 0 221 mXPUSHi(self->nodes[i].key);
1115 5 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
5 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 5 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 5 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1116 1 4 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1117 0 5 EXTEND(SP, self->size);
1119 560 5 for (i = 0; i < self->capacity; i++) {
1120 207 353 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
205 2 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
2 203 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))
1121 0 203 mXPUSHi(self->nodes[i].value);
1127 5 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
5 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 5 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 5 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1128 1 4 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1129 0 5 EXTEND(SP, self->size * 2);
1131 560 5 for (i = 0; i < self->capacity; i++) {
1132 207 353 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
205 2 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
2 203 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)) {
1133 0 203 mXPUSHi(self->nodes[i].key);
1134 0 203 mXPUSHi(self->nodes[i].value);
1141 31 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
31 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 31 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 31 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1142 6 25 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1143 174 6 while (self->iter_pos < self->capacity) {
1145 46 128 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
44 2 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
24 20 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
24 0 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
5 19 if (II_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
1146 0 25 EXTEND(SP, 2);
1147 0 25 mXPUSHi(self->nodes[i].key);
1148 1 24 if (GIMME_V == G_SCALAR) XSRETURN(1);
1149 0 24 mXPUSHi(self->nodes[i].value);
1159 1 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 1 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 1 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1165 8 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
8 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 8 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 8 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1171 4 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
4 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 4 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 4 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1173 2 2 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1175 64 4 for (i = 0; i < self->capacity; i++) {
1176 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)) {
1190 108 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
108 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 108 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 108 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1198 15 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
15 0 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 15 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
0 15 EXTRACT_MAP(HashMapII, stash_ii, "Data::HashMap::II", self_sv);
1202 0 15 if (idx >= self->capacity) XSRETURN_UNDEF;
1215 4 29 EXTRACT_NEW_ARGS(_max_size, _ttl);
1 32 EXTRACT_NEW_ARGS(_max_size, _ttl);
1217 0 33 if (!map) croak("Failed to create HashMap::IS");
1225 33 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
33 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 33 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 33 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1232 81023 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
81023 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 81023 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 81023 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1233 0 81023 EXTRACT_STR_VAL(value);
1241 50011 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
50011 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 50011 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 50011 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1245 3 50008 if (!hashmap_is_get(self, key, &val, &val_len, &val_utf8))
1248 1 50007 if (val_utf8) SvUTF8_on(RETVAL);
1255 5 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
5 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 5 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 5 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1259 2 3 if (!hashmap_is_get(self, key, &val, &val_len, &val_utf8))
1268 80106 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
80106 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 80106 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 80106 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1276 3 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
3 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 3 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 3 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1284 5 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
5 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 5 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 5 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1285 0 5 RETVAL = self->size;
1292 0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1293 0 0 RETVAL = self->max_size;
1300 0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1301 0 0 RETVAL = (UV)self->default_ttl;
1308 4 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
4 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 4 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 4 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1309 0 4 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1310 0 4 EXTEND(SP, self->size);
1312 544 4 for (i = 0; i < self->capacity; i++) {
1313 202 342 if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
200 2 if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
0 200 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))
1314 0 200 mXPUSHi(self->nodes[i].key);
1320 3 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
3 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 3 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 3 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1321 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1322 0 3 EXTEND(SP, self->size);
1324 528 3 for (i = 0; i < self->capacity; i++) {
1325 202 326 if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
200 2 if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 200 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)) {
1326 200 0 if (self->nodes[i].value) {
1329 0 200 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv);
1330 0 200 mXPUSHs(sv);
1332 0 0 XPUSHs(&PL_sv_undef);
1340 1 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 1 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 1 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1341 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1342 0 1 EXTEND(SP, self->size * 2);
1344 16 1 for (i = 0; i < self->capacity; i++) {
1345 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)) {
1346 0 2 mXPUSHi(self->nodes[i].key);
1347 2 0 if (self->nodes[i].value) {
1350 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv);
1351 0 2 mXPUSHs(sv);
1353 0 0 XPUSHs(&PL_sv_undef);
1361 3 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
3 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 3 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 3 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1362 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1363 16 1 while (self->iter_pos < self->capacity) {
1365 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)) {
1366 0 2 EXTEND(SP, 2);
1367 0 2 mXPUSHi(self->nodes[i].key);
1368 0 2 if (GIMME_V == G_SCALAR) XSRETURN(1);
1369 2 0 if (self->nodes[i].value) {
1372 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv);
1373 0 2 mXPUSHs(vsv);
1375 0 0 XPUSHs(&PL_sv_undef);
1386 0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1392 2 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
2 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 2 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 2 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1398 3 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
3 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 3 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 3 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1400 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1402 528 3 for (i = 0; i < self->capacity; i++) {
1403 201 327 if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
199 2 if (IS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 199 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)) {
1408 199 0 : newSV(0);
1409 199 0 if (self->nodes[i].value && vutf8) SvUTF8_on(val);
0 199 if (self->nodes[i].value && vutf8) SvUTF8_on(val);
1422 0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1423 0 0 EXTRACT_STR_VAL(value);
1431 9 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
9 0 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 9 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
0 9 EXTRACT_MAP(HashMapIS, stash_is, "Data::HashMap::IS", self_sv);
1432 0 9 EXTRACT_STR_VAL(default_sv);
1436 0 9 if (idx >= self->capacity) XSRETURN_UNDEF;
1437 9 0 if (self->nodes[idx].value) {
1439 0 9 if (HM_UNPACK_UTF8(self->nodes[idx].val_len)) SvUTF8_on(RETVAL);
1454 2 23 EXTRACT_NEW_ARGS(_max_size, _ttl);
1 24 EXTRACT_NEW_ARGS(_max_size, _ttl);
1456 0 25 if (!map) croak("Failed to create HashMap::SI");
1464 25 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
25 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 25 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 25 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1471 80226 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
80226 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 80226 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 80226 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1472 0 80226 EXTRACT_STR_KEY(key_sv);
1480 50016 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
50016 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 50016 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 50016 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1481 0 50016 EXTRACT_STR_KEY(key_sv);
1483 3 50013 if (!hashmap_si_get(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &value))
1492 80006 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
80006 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 80006 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 80006 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1493 0 80006 EXTRACT_STR_KEY(key_sv);
1501 2 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
2 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 2 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 2 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1502 0 2 EXTRACT_STR_KEY(key_sv);
1510 15015 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
15015 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 15015 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 15015 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1511 0 15015 EXTRACT_STR_KEY(key_sv);
1513 1 15014 if (!hashmap_si_increment(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val))
1522 5006 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
5006 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 5006 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 5006 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1523 0 5006 EXTRACT_STR_KEY(key_sv);
1525 2 5004 if (!hashmap_si_decrement(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val))
1534 6 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
6 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 6 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 6 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1535 0 6 EXTRACT_STR_KEY(key_sv);
1537 2 4 if (!hashmap_si_increment_by(self, _kstr, (uint32_t)_klen, _khash, _kutf8, delta, &val))
1546 5 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
5 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 5 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 5 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1547 0 5 RETVAL = self->size;
1554 0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1555 0 0 RETVAL = self->max_size;
1562 0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1563 0 0 RETVAL = (UV)self->default_ttl;
1570 3 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
3 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 3 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 3 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1571 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1572 0 3 EXTEND(SP, self->size);
1574 48 3 for (i = 0; i < self->capacity; i++) {
1575 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)) {
1578 1 6 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
1579 0 7 mXPUSHs(sv);
1586 1 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 1 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 1 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1587 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1588 0 1 EXTEND(SP, self->size);
1590 16 1 for (i = 0; i < self->capacity; i++) {
1591 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))
1592 0 2 mXPUSHi(self->nodes[i].value);
1598 2 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
2 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 2 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 2 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1599 0 2 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1600 0 2 EXTEND(SP, self->size * 2);
1602 32 2 for (i = 0; i < self->capacity; i++) {
1603 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)) {
1606 1 6 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
1607 0 7 mXPUSHs(sv);
1608 0 7 mXPUSHi(self->nodes[i].value);
1615 4 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
4 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 4 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 4 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1616 0 4 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1617 18 1 while (self->iter_pos < self->capacity) {
1619 3 15 if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
3 0 if (SI_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 3 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)) {
1620 0 3 EXTEND(SP, 2);
1624 0 3 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv);
1625 0 3 mXPUSHs(ksv);
1627 1 2 if (GIMME_V == G_SCALAR) XSRETURN(1);
1628 0 2 mXPUSHi(self->nodes[i].value);
1638 0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1644 2 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
2 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 2 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 2 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1650 1 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 1 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 1 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1652 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1654 16 1 for (i = 0; i < self->capacity; i++) {
1655 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)) {
1659 0 1 (void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0);
1669 0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1670 0 0 EXTRACT_STR_KEY(key_sv);
1678 8 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
8 0 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 8 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
0 8 EXTRACT_MAP(HashMapSI, stash_si, "Data::HashMap::SI", self_sv);
1679 0 8 EXTRACT_STR_KEY(key_sv);
1683 0 8 if (idx >= self->capacity) XSRETURN_UNDEF;
1696 8 49 EXTRACT_NEW_ARGS(_max_size, _ttl);
5 52 EXTRACT_NEW_ARGS(_max_size, _ttl);
1698 0 57 if (!map) croak("Failed to create HashMap::SS");
1706 57 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
57 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 57 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 57 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1713 82317 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
82317 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 82317 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 82317 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1714 0 82317 EXTRACT_STR_KEY(key_sv);
1715 0 82317 EXTRACT_STR_VAL(value);
1724 50024 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
50024 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 50024 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 50024 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1725 0 50024 EXTRACT_STR_KEY(key_sv);
1729 6 50018 if (!hashmap_ss_get(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val, &val_len, &val_utf8))
1732 3 50015 if (val_utf8) SvUTF8_on(RETVAL);
1739 5 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
5 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 5 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 5 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1740 0 5 EXTRACT_STR_KEY(key_sv);
1744 1 4 if (!hashmap_ss_get(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val, &val_len, &val_utf8))
1753 80508 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
80508 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 80508 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 80508 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1754 0 80508 EXTRACT_STR_KEY(key_sv);
1762 2 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
2 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 2 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 2 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1763 0 2 EXTRACT_STR_KEY(key_sv);
1771 8 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
8 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 8 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 8 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1772 0 8 RETVAL = self->size;
1779 0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1780 0 0 RETVAL = self->max_size;
1787 0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1788 0 0 RETVAL = (UV)self->default_ttl;
1795 5 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
5 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 5 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 5 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1796 0 5 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1797 0 5 EXTEND(SP, self->size);
1799 560 5 for (i = 0; i < self->capacity; i++) {
1800 207 353 if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
204 3 if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 204 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)) {
1803 1 203 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
1804 0 204 mXPUSHs(sv);
1811 3 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
3 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 3 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 3 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1812 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1813 0 3 EXTEND(SP, self->size);
1815 528 3 for (i = 0; i < self->capacity; i++) {
1816 202 326 if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
200 2 if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 200 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)) {
1817 200 0 if (self->nodes[i].value) {
1820 0 200 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv);
1821 0 200 mXPUSHs(sv);
1823 0 0 XPUSHs(&PL_sv_undef);
1831 1 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 1 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 1 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1832 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1833 0 1 EXTEND(SP, self->size * 2);
1835 16 1 for (i = 0; i < self->capacity; i++) {
1836 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)) {
1839 0 2 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
1840 0 2 mXPUSHs(sv);
1841 2 0 if (self->nodes[i].value) {
1844 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv);
1845 0 2 mXPUSHs(vsv);
1847 0 0 XPUSHs(&PL_sv_undef);
1855 47 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
47 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 47 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 47 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1856 0 47 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1857 90 3 while (self->iter_pos < self->capacity) {
1859 44 46 if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
44 0 if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 44 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)) {
1860 0 44 EXTEND(SP, 2);
1864 1 43 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv);
1865 0 44 mXPUSHs(ksv);
1867 1 43 if (GIMME_V == G_SCALAR) XSRETURN(1);
1868 43 0 if (self->nodes[i].value) {
1871 1 42 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv);
1872 0 43 mXPUSHs(vsv);
1874 0 0 XPUSHs(&PL_sv_undef);
1885 0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1891 9 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
9 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 9 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 9 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1897 6 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
6 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 6 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 6 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1899 0 6 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
1901 608 6 for (i = 0; i < self->capacity; i++) {
1902 243 365 if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
241 2 if (SS_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 241 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)) {
1909 241 0 : newSV(0);
1910 241 0 if (self->nodes[i].value && vutf8) SvUTF8_on(val);
1 240 if (self->nodes[i].value && vutf8) SvUTF8_on(val);
1911 1 240 (void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0);
1921 102 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
102 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 102 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 102 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1922 0 102 EXTRACT_STR_KEY(key_sv);
1923 0 102 EXTRACT_STR_VAL(value);
1932 9 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
9 0 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 9 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
0 9 EXTRACT_MAP(HashMapSS, stash_ss, "Data::HashMap::SS", self_sv);
1933 0 9 EXTRACT_STR_KEY(key_sv);
1934 0 9 EXTRACT_STR_VAL(default_sv);
1939 0 9 if (idx >= self->capacity) XSRETURN_UNDEF;
1940 9 0 if (self->nodes[idx].value) {
1942 0 9 if (HM_UNPACK_UTF8(self->nodes[idx].val_len)) SvUTF8_on(RETVAL);
1957 3 10 EXTRACT_NEW_ARGS(_max_size, _ttl);
0 13 EXTRACT_NEW_ARGS(_max_size, _ttl);
1959 0 13 if (!map) croak("Failed to create HashMap::I32S");
1967 13 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
13 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 13 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 13 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
1974 80416 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
80416 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 80416 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 80416 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
1975 0 80416 EXTRACT_STR_VAL(value);
1983 50010 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
50010 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 50010 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 50010 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
1987 3 50007 if (!hashmap_i32s_get(self, key, &val, &val_len, &val_utf8))
1990 1 50006 if (val_utf8) SvUTF8_on(RETVAL);
1997 1 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
1 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 1 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 1 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2001 0 1 if (!hashmap_i32s_get(self, key, &val, &val_len, &val_utf8))
2010 80006 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
80006 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 80006 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 80006 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2018 3 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
3 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 3 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 3 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2026 6 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
6 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 6 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 6 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2027 0 6 RETVAL = self->size;
2034 0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2035 0 0 RETVAL = self->max_size;
2042 0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2043 0 0 RETVAL = (UV)self->default_ttl;
2050 2 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 2 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 2 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2051 0 2 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2052 0 2 EXTEND(SP, self->size);
2054 32 2 for (i = 0; i < self->capacity; i++) {
2055 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))
2056 0 2 mXPUSHi(self->nodes[i].key);
2062 1 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
1 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 1 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 1 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2063 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2064 0 1 EXTEND(SP, self->size);
2066 16 1 for (i = 0; i < self->capacity; i++) {
2067 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)) {
2068 2 0 if (self->nodes[i].value) {
2071 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv);
2072 0 2 mXPUSHs(sv);
2074 0 0 XPUSHs(&PL_sv_undef);
2082 1 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
1 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 1 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 1 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2083 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2084 0 1 EXTEND(SP, self->size * 2);
2086 16 1 for (i = 0; i < self->capacity; i++) {
2087 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)) {
2088 0 2 mXPUSHi(self->nodes[i].key);
2089 2 0 if (self->nodes[i].value) {
2092 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv);
2093 0 2 mXPUSHs(sv);
2095 0 0 XPUSHs(&PL_sv_undef);
2103 3 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
3 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 3 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 3 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2104 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2105 16 1 while (self->iter_pos < self->capacity) {
2107 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)) {
2108 0 2 EXTEND(SP, 2);
2109 0 2 mXPUSHi(self->nodes[i].key);
2110 0 2 if (GIMME_V == G_SCALAR) XSRETURN(1);
2111 2 0 if (self->nodes[i].value) {
2114 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv);
2115 0 2 mXPUSHs(vsv);
2117 0 0 XPUSHs(&PL_sv_undef);
2128 0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2134 3 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
3 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 3 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 3 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2140 1 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
1 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 1 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 1 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2142 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2144 16 1 for (i = 0; i < self->capacity; i++) {
2145 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)) {
2150 1 0 : newSV(0);
2151 1 0 if (self->nodes[i].value && vutf8) SvUTF8_on(val);
0 1 if (self->nodes[i].value && vutf8) SvUTF8_on(val);
2164 0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2165 0 0 EXTRACT_STR_VAL(value);
2173 0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
0 0 EXTRACT_MAP(HashMapI32S, stash_i32s, "Data::HashMap::I32S", self_sv);
2174 0 0 EXTRACT_STR_VAL(default_sv);
2178 0 0 if (idx >= self->capacity) XSRETURN_UNDEF;
2179 0 0 if (self->nodes[idx].value) {
2181 0 0 if (HM_UNPACK_UTF8(self->nodes[idx].val_len)) SvUTF8_on(RETVAL);
2196 1 14 EXTRACT_NEW_ARGS(_max_size, _ttl);
0 15 EXTRACT_NEW_ARGS(_max_size, _ttl);
2198 0 15 if (!map) croak("Failed to create HashMap::SI32");
2206 15 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
15 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 15 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 15 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2213 80219 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
80219 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 80219 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 80219 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2214 0 80219 EXTRACT_STR_KEY(key_sv);
2222 50010 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
50010 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 50010 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 50010 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2223 0 50010 EXTRACT_STR_KEY(key_sv);
2225 3 50007 if (!hashmap_si32_get(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &value))
2234 80005 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
80005 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 80005 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 80005 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2235 0 80005 EXTRACT_STR_KEY(key_sv);
2243 2 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 2 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 2 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2244 0 2 EXTRACT_STR_KEY(key_sv);
2252 12 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
12 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 12 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 12 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2253 0 12 EXTRACT_STR_KEY(key_sv);
2255 1 11 if (!hashmap_si32_increment(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val))
2264 3 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
3 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 3 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 3 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2265 0 3 EXTRACT_STR_KEY(key_sv);
2267 1 2 if (!hashmap_si32_decrement(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val))
2276 6 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
6 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 6 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 6 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2277 0 6 EXTRACT_STR_KEY(key_sv);
2279 2 4 if (!hashmap_si32_increment_by(self, _kstr, (uint32_t)_klen, _khash, _kutf8, delta, &val))
2288 5 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
5 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 5 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 5 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2289 0 5 RETVAL = self->size;
2296 0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2297 0 0 RETVAL = self->max_size;
2304 0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2305 0 0 RETVAL = (UV)self->default_ttl;
2312 3 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
3 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 3 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 3 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2313 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2314 0 3 EXTEND(SP, self->size);
2316 48 3 for (i = 0; i < self->capacity; i++) {
2317 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)) {
2320 1 6 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
2321 0 7 mXPUSHs(sv);
2328 1 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
1 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 1 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 1 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2329 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2330 0 1 EXTEND(SP, self->size);
2332 16 1 for (i = 0; i < self->capacity; i++) {
2333 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))
2334 0 2 mXPUSHi(self->nodes[i].value);
2340 2 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 2 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 2 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2341 0 2 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2342 0 2 EXTEND(SP, self->size * 2);
2344 32 2 for (i = 0; i < self->capacity; i++) {
2345 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)) {
2348 1 6 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
2349 0 7 mXPUSHs(sv);
2350 0 7 mXPUSHi(self->nodes[i].value);
2357 3 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
3 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 3 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 3 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2358 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2359 16 1 while (self->iter_pos < self->capacity) {
2361 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)) {
2362 0 2 EXTEND(SP, 2);
2366 0 2 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv);
2367 0 2 mXPUSHs(ksv);
2369 0 2 if (GIMME_V == G_SCALAR) XSRETURN(1);
2370 0 2 mXPUSHi(self->nodes[i].value);
2380 0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2386 2 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 2 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 2 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2392 1 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
1 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 1 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 1 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2394 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2396 16 1 for (i = 0; i < self->capacity; i++) {
2397 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)) {
2401 0 1 (void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0);
2411 1 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
1 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 1 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 1 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2412 0 1 EXTRACT_STR_KEY(key_sv);
2420 1 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
1 0 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 1 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
0 1 EXTRACT_MAP(HashMapSI32, stash_si32, "Data::HashMap::SI32", self_sv);
2421 0 1 EXTRACT_STR_KEY(key_sv);
2425 0 1 if (idx >= self->capacity) XSRETURN_UNDEF;
2438 2 17 EXTRACT_NEW_ARGS(_max_size, _ttl);
1 18 EXTRACT_NEW_ARGS(_max_size, _ttl);
2440 0 19 if (!map) croak("Failed to create HashMap::I16");
2448 19 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
19 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 19 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 19 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2455 81227 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
81227 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 81227 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 81227 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2463 30013 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
30013 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 30013 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 30013 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2465 6 30007 if (!hashmap_i16_get(self, key, &value)) XSRETURN_UNDEF;
2473 80007 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
80007 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 80007 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 80007 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2481 4 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
4 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 4 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 4 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2489 12 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
12 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 12 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 12 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2491 3 9 if (!hashmap_i16_increment(self, key, &val))
2500 6 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
6 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 6 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 6 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2502 2 4 if (!hashmap_i16_decrement(self, key, &val))
2511 8 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
8 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 8 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 8 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2513 2 6 if (!hashmap_i16_increment_by(self, key, delta, &val))
2522 8 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
8 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 8 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 8 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2523 0 8 RETVAL = self->size;
2530 0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2531 0 0 RETVAL = self->max_size;
2538 0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2539 0 0 RETVAL = (UV)self->default_ttl;
2546 3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2547 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2548 0 3 EXTEND(SP, self->size);
2550 48 3 for (i = 0; i < self->capacity; i++) {
2551 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))
2552 0 4 mXPUSHi(self->nodes[i].key);
2558 2 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 2 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 2 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2559 0 2 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2560 0 2 EXTEND(SP, self->size);
2562 32 2 for (i = 0; i < self->capacity; i++) {
2563 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))
2564 0 4 mXPUSHi(self->nodes[i].value);
2570 1 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
1 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 1 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 1 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2571 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2572 0 1 EXTEND(SP, self->size * 2);
2574 16 1 for (i = 0; i < self->capacity; i++) {
2575 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)) {
2576 0 2 mXPUSHi(self->nodes[i].key);
2577 0 2 mXPUSHi(self->nodes[i].value);
2584 3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2585 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2586 16 1 while (self->iter_pos < self->capacity) {
2588 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)) {
2589 0 2 EXTEND(SP, 2);
2590 0 2 mXPUSHi(self->nodes[i].key);
2591 0 2 if (GIMME_V == G_SCALAR) XSRETURN(1);
2592 0 2 mXPUSHi(self->nodes[i].value);
2602 0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2608 3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2614 3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2616 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2618 528 3 for (i = 0; i < self->capacity; i++) {
2619 201 327 if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
199 2 if (I16_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 199 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)) {
2633 0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2641 3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
3 0 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
0 3 EXTRACT_MAP(HashMapI16, stash_i16, "Data::HashMap::I16", self_sv);
2645 1 2 if (idx >= self->capacity) XSRETURN_UNDEF;
2658 3 11 EXTRACT_NEW_ARGS(_max_size, _ttl);
0 14 EXTRACT_NEW_ARGS(_max_size, _ttl);
2660 0 14 if (!map) croak("Failed to create HashMap::I16S");
2668 14 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
14 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 14 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 14 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2675 60315 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
60315 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 60315 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 60315 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2676 0 60315 EXTRACT_STR_VAL(value);
2684 30009 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
30009 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 30009 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 30009 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2688 3 30006 if (!hashmap_i16s_get(self, key, &val, &val_len, &val_utf8))
2691 1 30005 if (val_utf8) SvUTF8_on(RETVAL);
2698 2 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 2 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 2 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2702 1 1 if (!hashmap_i16s_get(self, key, &val, &val_len, &val_utf8))
2711 60006 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
60006 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 60006 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 60006 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2719 4 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
4 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 4 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 4 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2727 8 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
8 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 8 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 8 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2728 0 8 RETVAL = self->size;
2735 0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2736 0 0 RETVAL = self->max_size;
2743 0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2744 0 0 RETVAL = (UV)self->default_ttl;
2751 2 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 2 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 2 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2752 0 2 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2753 0 2 EXTEND(SP, self->size);
2755 32 2 for (i = 0; i < self->capacity; i++) {
2756 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))
2757 0 2 mXPUSHi(self->nodes[i].key);
2763 1 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
1 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 1 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 1 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2764 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2765 0 1 EXTEND(SP, self->size);
2767 16 1 for (i = 0; i < self->capacity; i++) {
2768 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)) {
2769 2 0 if (self->nodes[i].value) {
2772 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv);
2773 0 2 mXPUSHs(sv);
2775 0 0 XPUSHs(&PL_sv_undef);
2783 1 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
1 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 1 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 1 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2784 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2785 0 1 EXTEND(SP, self->size * 2);
2787 16 1 for (i = 0; i < self->capacity; i++) {
2788 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)) {
2789 0 2 mXPUSHi(self->nodes[i].key);
2790 2 0 if (self->nodes[i].value) {
2793 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(sv);
2794 0 2 mXPUSHs(sv);
2796 0 0 XPUSHs(&PL_sv_undef);
2804 3 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
3 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 3 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 3 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2805 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2806 16 1 while (self->iter_pos < self->capacity) {
2808 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)) {
2809 0 2 EXTEND(SP, 2);
2810 0 2 mXPUSHi(self->nodes[i].key);
2811 0 2 if (GIMME_V == G_SCALAR) XSRETURN(1);
2812 2 0 if (self->nodes[i].value) {
2815 0 2 if (HM_UNPACK_UTF8(self->nodes[i].val_len)) SvUTF8_on(vsv);
2816 0 2 mXPUSHs(vsv);
2818 0 0 XPUSHs(&PL_sv_undef);
2829 0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2835 3 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
3 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 3 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 3 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2841 0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2843 0 0 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
2845 0 0 for (i = 0; i < self->capacity; i++) {
2846 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)) {
2851 0 0 : newSV(0);
2852 0 0 if (self->nodes[i].value && vutf8) SvUTF8_on(val);
0 0 if (self->nodes[i].value && vutf8) SvUTF8_on(val);
2865 0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2866 0 0 EXTRACT_STR_VAL(value);
2874 1 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
1 0 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 1 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
0 1 EXTRACT_MAP(HashMapI16S, stash_i16s, "Data::HashMap::I16S", self_sv);
2875 0 1 EXTRACT_STR_VAL(default_sv);
2879 0 1 if (idx >= self->capacity) XSRETURN_UNDEF;
2880 1 0 if (self->nodes[idx].value) {
2882 0 1 if (HM_UNPACK_UTF8(self->nodes[idx].val_len)) SvUTF8_on(RETVAL);
2897 2 12 EXTRACT_NEW_ARGS(_max_size, _ttl);
1 13 EXTRACT_NEW_ARGS(_max_size, _ttl);
2899 0 14 if (!map) croak("Failed to create HashMap::SI16");
2907 14 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
14 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 14 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 14 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2914 80119 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
80119 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 80119 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 80119 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2915 0 80119 EXTRACT_STR_KEY(key_sv);
2923 50010 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
50010 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 50010 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 50010 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2924 0 50010 EXTRACT_STR_KEY(key_sv);
2926 4 50006 if (!hashmap_si16_get(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &value))
2935 80005 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
80005 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 80005 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 80005 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2936 0 80005 EXTRACT_STR_KEY(key_sv);
2944 4 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
4 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 4 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 4 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2945 0 4 EXTRACT_STR_KEY(key_sv);
2953 10 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
10 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 10 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 10 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2954 0 10 EXTRACT_STR_KEY(key_sv);
2956 1 9 if (!hashmap_si16_increment(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val))
2965 5 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
5 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 5 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 5 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2966 0 5 EXTRACT_STR_KEY(key_sv);
2968 1 4 if (!hashmap_si16_decrement(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val))
2977 6 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
6 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 6 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 6 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2978 0 6 EXTRACT_STR_KEY(key_sv);
2980 2 4 if (!hashmap_si16_increment_by(self, _kstr, (uint32_t)_klen, _khash, _kutf8, delta, &val))
2989 6 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
6 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 6 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 6 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2990 0 6 RETVAL = self->size;
2997 0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2998 0 0 RETVAL = self->max_size;
3005 0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3006 0 0 RETVAL = (UV)self->default_ttl;
3013 2 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 2 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 2 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3014 0 2 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3015 0 2 EXTEND(SP, self->size);
3017 32 2 for (i = 0; i < self->capacity; i++) {
3018 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)) {
3021 0 2 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
3022 0 2 mXPUSHs(sv);
3029 1 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
1 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 1 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 1 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3030 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3031 0 1 EXTEND(SP, self->size);
3033 16 1 for (i = 0; i < self->capacity; i++) {
3034 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))
3035 0 2 mXPUSHi(self->nodes[i].value);
3041 1 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
1 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 1 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 1 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3042 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3043 0 1 EXTEND(SP, self->size * 2);
3045 16 1 for (i = 0; i < self->capacity; i++) {
3046 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)) {
3049 0 2 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
3050 0 2 mXPUSHs(sv);
3051 0 2 mXPUSHi(self->nodes[i].value);
3058 3 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 3 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 3 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3059 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3060 16 1 while (self->iter_pos < self->capacity) {
3062 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)) {
3063 0 2 EXTEND(SP, 2);
3067 0 2 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv);
3068 0 2 mXPUSHs(ksv);
3070 0 2 if (GIMME_V == G_SCALAR) XSRETURN(1);
3071 0 2 mXPUSHi(self->nodes[i].value);
3081 0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3087 2 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
2 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 2 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 2 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3093 1 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
1 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 1 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 1 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3095 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3097 16 1 for (i = 0; i < self->capacity; i++) {
3098 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)) {
3102 0 1 (void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0);
3112 1 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
1 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 1 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 1 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3113 0 1 EXTRACT_STR_KEY(key_sv);
3121 0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
0 0 EXTRACT_MAP(HashMapSI16, stash_si16, "Data::HashMap::SI16", self_sv);
3122 0 0 EXTRACT_STR_KEY(key_sv);
3126 0 0 if (idx >= self->capacity) XSRETURN_UNDEF;
3139 4 11 EXTRACT_NEW_ARGS(_max_size, _ttl);
2 13 EXTRACT_NEW_ARGS(_max_size, _ttl);
3141 0 15 if (!map) croak("Failed to create HashMap::I32A");
3150 15 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
15 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 15 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 15 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3157 50127 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
50127 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 50127 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 50127 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3160 2 50125 if (!RETVAL) SvREFCNT_dec(value);
3167 50016 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
50016 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 50016 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 50016 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3169 4 50012 if (!hashmap_i32a_get(self, key, &val)) XSRETURN_UNDEF;
3177 50005 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
50005 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 50005 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 50005 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3185 3 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 3 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 3 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3193 9 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
9 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 9 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 9 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3194 0 9 RETVAL = self->size;
3201 0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3202 0 0 RETVAL = self->max_size;
3209 0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3210 0 0 RETVAL = (UV)self->default_ttl;
3217 1 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
1 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 1 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 1 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3218 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3219 0 1 EXTEND(SP, self->size);
3221 16 1 for (i = 0; i < self->capacity; i++) {
3222 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))
3223 0 2 mXPUSHi(self->nodes[i].key);
3229 1 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
1 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 1 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 1 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3230 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3231 0 1 EXTEND(SP, self->size);
3233 16 1 for (i = 0; i < self->capacity; i++) {
3234 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)) {
3235 2 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3236 0 2 mXPUSHs(sv);
3243 1 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
1 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 1 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 1 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3244 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3245 0 1 EXTEND(SP, self->size * 2);
3247 16 1 for (i = 0; i < self->capacity; i++) {
3248 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)) {
3249 0 2 mXPUSHi(self->nodes[i].key);
3250 2 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3251 0 2 mXPUSHs(sv);
3258 6 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
6 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 6 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 6 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3259 0 6 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3260 32 2 while (self->iter_pos < self->capacity) {
3262 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)) {
3263 0 4 EXTEND(SP, 2);
3264 0 4 mXPUSHi(self->nodes[i].key);
3265 0 4 if (GIMME_V == G_SCALAR) XSRETURN(1);
3266 4 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3267 0 4 mXPUSHs(sv);
3277 0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3283 3 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 3 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 3 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3289 1 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
1 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 1 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 1 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3291 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3293 16 1 for (i = 0; i < self->capacity; i++) {
3294 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)) {
3295 1 0 SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3308 0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3311 0 0 if (!RETVAL) SvREFCNT_dec(value);
3318 2 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
2 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 2 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 2 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
3322 0 2 if (idx >= self->capacity) {
3326 0 2 if (was_found) SvREFCNT_dec(default_value);
3339 4 11 EXTRACT_NEW_ARGS(_max_size, _ttl);
2 13 EXTRACT_NEW_ARGS(_max_size, _ttl);
3341 0 15 if (!map) croak("Failed to create HashMap::I16A");
3350 15 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
15 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 15 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 15 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3357 30067 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
30067 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 30067 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 30067 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3360 2 30065 if (!RETVAL) SvREFCNT_dec(value);
3367 30016 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
30016 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 30016 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 30016 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3369 4 30012 if (!hashmap_i16a_get(self, key, &val)) XSRETURN_UNDEF;
3377 30005 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
30005 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 30005 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 30005 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3385 3 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 3 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 3 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3393 9 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
9 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 9 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 9 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3394 0 9 RETVAL = self->size;
3401 0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3402 0 0 RETVAL = self->max_size;
3409 0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3410 0 0 RETVAL = (UV)self->default_ttl;
3417 1 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
1 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 1 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 1 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3418 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3419 0 1 EXTEND(SP, self->size);
3421 16 1 for (i = 0; i < self->capacity; i++) {
3422 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))
3423 0 2 mXPUSHi(self->nodes[i].key);
3429 1 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
1 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 1 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 1 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3430 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3431 0 1 EXTEND(SP, self->size);
3433 16 1 for (i = 0; i < self->capacity; i++) {
3434 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)) {
3435 2 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3436 0 2 mXPUSHs(sv);
3443 1 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
1 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 1 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 1 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3444 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3445 0 1 EXTEND(SP, self->size * 2);
3447 16 1 for (i = 0; i < self->capacity; i++) {
3448 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)) {
3449 0 2 mXPUSHi(self->nodes[i].key);
3450 2 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3451 0 2 mXPUSHs(sv);
3458 6 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
6 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 6 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 6 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3459 0 6 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3460 32 2 while (self->iter_pos < self->capacity) {
3462 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)) {
3463 0 4 EXTEND(SP, 2);
3464 0 4 mXPUSHi(self->nodes[i].key);
3465 0 4 if (GIMME_V == G_SCALAR) XSRETURN(1);
3466 4 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3467 0 4 mXPUSHs(sv);
3477 0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3483 3 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 3 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 3 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3489 0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3491 0 0 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3493 0 0 for (i = 0; i < self->capacity; i++) {
3494 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)) {
3495 0 0 SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3508 0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3511 0 0 if (!RETVAL) SvREFCNT_dec(value);
3518 2 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
2 0 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 2 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
0 2 EXTRACT_MAP(HashMapI16A, stash_i16a, "Data::HashMap::I16A", self_sv);
3522 0 2 if (idx >= self->capacity) {
3526 0 2 if (was_found) SvREFCNT_dec(default_value);
3539 8 39 EXTRACT_NEW_ARGS(_max_size, _ttl);
4 43 EXTRACT_NEW_ARGS(_max_size, _ttl);
3541 0 47 if (!map) croak("Failed to create HashMap::IA");
3550 47 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
47 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 47 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 47 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3557 81917 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
81917 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 81917 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 81917 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3560 2 81915 if (!RETVAL) SvREFCNT_dec(value);
3567 50023 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
50023 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 50023 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 50023 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3569 7 50016 if (!hashmap_ia_get(self, key, &val)) XSRETURN_UNDEF;
3577 80505 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
80505 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 80505 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 80505 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3585 4 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
4 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 4 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 4 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3593 11 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
11 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 11 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 11 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3594 0 11 RETVAL = self->size;
3601 0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3602 0 0 RETVAL = self->max_size;
3609 0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3610 0 0 RETVAL = (UV)self->default_ttl;
3617 5 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
5 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 5 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 5 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3618 1 4 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3619 0 5 EXTEND(SP, self->size);
3621 304 5 for (i = 0; i < self->capacity; i++) {
3622 104 200 if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
101 3 if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now))
1 100 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))
3623 0 100 mXPUSHi(self->nodes[i].key);
3629 3 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 3 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 3 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3630 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3631 0 3 EXTEND(SP, self->size);
3633 272 3 for (i = 0; i < self->capacity; i++) {
3634 102 170 if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
100 2 if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 100 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)) {
3635 100 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3636 0 100 mXPUSHs(sv);
3643 1 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
1 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 1 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 1 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3644 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3645 0 1 EXTEND(SP, self->size * 2);
3647 16 1 for (i = 0; i < self->capacity; i++) {
3648 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)) {
3649 0 2 mXPUSHi(self->nodes[i].key);
3650 2 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3651 0 2 mXPUSHs(sv);
3658 48 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
48 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 48 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 48 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3659 0 48 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3660 96 4 while (self->iter_pos < self->capacity) {
3662 44 52 if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
44 0 if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 44 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)) {
3663 0 44 EXTEND(SP, 2);
3664 0 44 mXPUSHi(self->nodes[i].key);
3665 0 44 if (GIMME_V == G_SCALAR) XSRETURN(1);
3666 44 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3667 0 44 mXPUSHs(sv);
3677 0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3683 7 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
7 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 7 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 7 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3689 3 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 3 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 3 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3691 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3693 80 3 for (i = 0; i < self->capacity; i++) {
3694 41 39 if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
41 0 if (IA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 41 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)) {
3695 41 0 SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3708 101 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
101 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 101 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 101 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3711 0 101 if (!RETVAL) SvREFCNT_dec(value);
3718 4 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
4 0 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 4 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
0 4 EXTRACT_MAP(HashMapIA, stash_ia, "Data::HashMap::IA", self_sv);
3722 0 4 if (idx >= self->capacity) {
3726 1 3 if (was_found) SvREFCNT_dec(default_value);
3739 8 36 EXTRACT_NEW_ARGS(_max_size, _ttl);
4 40 EXTRACT_NEW_ARGS(_max_size, _ttl);
3741 0 44 if (!map) croak("Failed to create HashMap::SA");
3750 44 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
44 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 44 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 44 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3757 81579 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
81579 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 81579 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 81579 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3758 0 81579 EXTRACT_STR_KEY(key_sv);
3761 0 81579 if (!RETVAL) SvREFCNT_dec(value);
3768 50024 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
50024 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 50024 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 50024 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3769 0 50024 EXTRACT_STR_KEY(key_sv);
3771 5 50019 if (!hashmap_sa_get(self, _kstr, (uint32_t)_klen, _khash, _kutf8, &val))
3780 80505 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
80505 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 80505 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 80505 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3781 0 80505 EXTRACT_STR_KEY(key_sv);
3789 5 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
5 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 5 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 5 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3790 0 5 EXTRACT_STR_KEY(key_sv);
3798 12 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
12 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 12 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 12 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3799 0 12 RETVAL = self->size;
3806 0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3807 0 0 RETVAL = self->max_size;
3814 0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3815 0 0 RETVAL = (UV)self->default_ttl;
3822 5 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
5 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 5 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 5 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3823 1 4 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3824 0 5 EXTEND(SP, self->size);
3826 304 5 for (i = 0; i < self->capacity; i++) {
3827 104 200 if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
101 3 if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
1 100 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)) {
3830 0 100 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(sv);
3831 0 100 mXPUSHs(sv);
3838 3 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 3 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 3 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3839 0 3 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3840 0 3 EXTEND(SP, self->size);
3842 272 3 for (i = 0; i < self->capacity; i++) {
3843 102 170 if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
100 2 if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 100 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)) {
3844 100 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3845 0 100 mXPUSHs(sv);
3852 1 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
1 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 1 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 1 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3853 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3854 0 1 EXTEND(SP, self->size * 2);
3856 16 1 for (i = 0; i < self->capacity; i++) {
3857 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)) {
3860 0 2 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv);
3861 0 2 mXPUSHs(ksv);
3862 2 0 SV* vsv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3863 0 2 mXPUSHs(vsv);
3870 48 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
48 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 48 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 48 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3871 0 48 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3872 96 4 while (self->iter_pos < self->capacity) {
3874 44 52 if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
44 0 if (SA_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
0 44 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)) {
3875 0 44 EXTEND(SP, 2);
3879 0 44 if (HM_UNPACK_UTF8(self->nodes[i].key_len)) SvUTF8_on(ksv);
3880 0 44 mXPUSHs(ksv);
3882 0 44 if (GIMME_V == G_SCALAR) XSRETURN(1);
3883 44 0 SV* vsv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3884 0 44 mXPUSHs(vsv);
3894 0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3900 3 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 3 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 3 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3906 1 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
1 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 1 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 1 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3908 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
3910 16 1 for (i = 0; i < self->capacity; i++) {
3911 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)) {
3914 1 0 SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
3915 0 1 (void)hv_store(hv, self->nodes[i].key, kutf8 ? -(I32)klen : (I32)klen, val, 0);
3925 1 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
1 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 1 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 1 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3926 0 1 EXTRACT_STR_KEY(key_sv);
3929 0 1 if (!RETVAL) SvREFCNT_dec(value);
3936 4 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
4 0 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 4 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
0 4 EXTRACT_MAP(HashMapSA, stash_sa, "Data::HashMap::SA", self_sv);
3937 0 4 EXTRACT_STR_KEY(key_sv);
3941 0 4 if (idx >= self->capacity) {
3945 1 3 if (was_found) SvREFCNT_dec(default_value);