Branch Coverage

xs/i32a.xsi
Criterion Covered Total %
branch 120 582 20.6


line true false branch
7 4 12 EXTRACT_NEW_ARGS(_max_size, _ttl, _lru_skip);
2 14 EXTRACT_NEW_ARGS(_max_size, _ttl, _lru_skip);
0 16 EXTRACT_NEW_ARGS(_max_size, _ttl, _lru_skip);
9 0 16 if (!map) croak("Failed to create HashMap::I32A");
18 16 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
16 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 16 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 16 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
25 50128 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
50128 0 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 50128 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
0 50128 EXTRACT_MAP(HashMapI32A, stash_i32a, "Data::HashMap::I32A", self_sv);
28 2 50126 if (!RETVAL) SvREFCNT_dec(value);
35 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);
37 4 50012 if (!hashmap_i32a_get(self, key, &val)) XSRETURN_UNDEF;
45 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);
53 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);
55 0 1 if (!hashmap_i32a_take(self, key, &val)) XSRETURN_UNDEF;
63 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);
71 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);
72 0 9 RETVAL = self->size;
79 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);
80 0 0 RETVAL = self->max_size;
87 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);
88 0 0 RETVAL = (UV)self->default_ttl;
95 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);
96 0 0 RETVAL = (UV)self->lru_skip;
103 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);
104 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
105 0 1 EXTEND(SP, self->size);
107 16 1 for (i = 0; i < self->capacity; i++) {
108 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))
109 0 2 mXPUSHi(self->nodes[i].key);
115 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);
116 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
117 0 1 EXTEND(SP, self->size);
119 16 1 for (i = 0; i < self->capacity; i++) {
120 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)) {
121 2 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
122 0 2 mXPUSHs(sv);
129 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);
130 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
131 0 1 EXTEND(SP, self->size * 2);
133 16 1 for (i = 0; i < self->capacity; i++) {
134 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)) {
135 0 2 mXPUSHi(self->nodes[i].key);
136 2 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
137 0 2 mXPUSHs(sv);
144 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);
145 0 6 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
146 32 2 while (self->iter_pos < self->capacity) {
148 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)) {
149 0 4 EXTEND(SP, 2);
150 0 4 mXPUSHi(self->nodes[i].key);
151 0 4 if (GIMME_V == G_SCALAR) XSRETURN(1);
152 4 0 SV* sv = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
153 0 4 mXPUSHs(sv);
163 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);
169 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);
170 0 0 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
172 0 0 EXTEND(SP, (count < self->size ? count : self->size) * 2);
173 0 0 while (self->iter_pos < self->capacity && n < count) {
0 0 while (self->iter_pos < self->capacity && n < count) {
175 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)) {
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)) {
0 0 if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
176 0 0 mXPUSHi(self->nodes[i].key);
177 0 0 if (self->nodes[i].value) {
178 0 0 mXPUSHs((SV*)self->nodes[i].value);
179 0 0 } else { XPUSHs(&PL_sv_undef); }
181 0 0 if (HM_UNLIKELY(self->lru_prev)) hashmap_i32a_lru_unlink(self, (uint32_t)i);
186 0 0 if (self->iter_pos >= self->capacity) self->iter_pos = 0;
187 0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
192 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);
193 0 0 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
194 0 0 if (self->lru_prev) {
195 0 0 while (self->lru_tail != HM_LRU_NONE) {
197 0 0 if (HM_UNLIKELY(HM_TTL_SKIP_EXPIRED(self, idx, now))) {
0 0 if (HM_UNLIKELY(HM_TTL_SKIP_EXPIRED(self, idx, now))) {
0 0 if (HM_UNLIKELY(HM_TTL_SKIP_EXPIRED(self, idx, now))) {
0 0 if (HM_UNLIKELY(HM_TTL_SKIP_EXPIRED(self, idx, now))) {
200 0 0 EXTEND(SP, 2);
201 0 0 mXPUSHi(self->nodes[idx].key);
202 0 0 if (self->nodes[idx].value) {
203 0 0 mXPUSHs((SV*)self->nodes[idx].value);
204 0 0 } else { XPUSHs(&PL_sv_undef); }
208 0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
213 0 0 while (self->iter_pos < self->capacity) {
215 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)) {
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)) {
0 0 if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
216 0 0 EXTEND(SP, 2);
217 0 0 mXPUSHi(self->nodes[i].key);
218 0 0 if (self->nodes[i].value) {
219 0 0 mXPUSHs((SV*)self->nodes[i].value);
220 0 0 } else { XPUSHs(&PL_sv_undef); }
223 0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
234 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);
235 0 0 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
236 0 0 if (self->lru_prev) {
237 0 0 while (self->lru_head != HM_LRU_NONE) {
239 0 0 if (HM_UNLIKELY(HM_TTL_SKIP_EXPIRED(self, idx, now))) {
0 0 if (HM_UNLIKELY(HM_TTL_SKIP_EXPIRED(self, idx, now))) {
0 0 if (HM_UNLIKELY(HM_TTL_SKIP_EXPIRED(self, idx, now))) {
0 0 if (HM_UNLIKELY(HM_TTL_SKIP_EXPIRED(self, idx, now))) {
242 0 0 EXTEND(SP, 2);
243 0 0 mXPUSHi(self->nodes[idx].key);
244 0 0 if (self->nodes[idx].value) {
245 0 0 mXPUSHs((SV*)self->nodes[idx].value);
246 0 0 } else { XPUSHs(&PL_sv_undef); }
250 0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
255 0 0 if (self->iter_pos == 0) self->iter_pos = self->capacity;
256 0 0 while (self->iter_pos > 0) {
258 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)) {
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)) {
0 0 if (I32A_NODE_LIVE(self->nodes[i]) && !HM_TTL_SKIP_EXPIRED(self, i, now)) {
259 0 0 EXTEND(SP, 2);
260 0 0 mXPUSHi(self->nodes[i].key);
261 0 0 if (self->nodes[i].value) {
262 0 0 mXPUSHs((SV*)self->nodes[i].value);
263 0 0 } else { XPUSHs(&PL_sv_undef); }
266 0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
0 0 HM_MAYBE_COMPACT_XS(self, hashmap_i32a_compact);
277 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);
283 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);
284 0 0 if (!hashmap_i32a_reserve(self, (size_t)count))
290 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);
305 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);
306 0 0 RETVAL = (UV)self->capacity;
313 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);
321 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);
324 0 0 if (!hashmap_i32a_swap(self, key, (void*)new_val, &old)) { SvREFCNT_dec(new_val); XSRETURN_UNDEF; }
333 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);
335 0 0 if (!clone) croak("Failed to clone");
336 0 0 { size_t _i; for (_i = 0; _i < clone->capacity; _i++) {
337 0 0 if (I32A_NODE_LIVE(clone->nodes[_i]) && clone->nodes[_i].value)
0 0 if (I32A_NODE_LIVE(clone->nodes[_i]) && clone->nodes[_i].value)
0 0 if (I32A_NODE_LIVE(clone->nodes[_i]) && clone->nodes[_i].value)
340 0 0 RETVAL = sv_setref_pv(newSV(0), HvNAME(SvSTASH(SvRV(self_sv))), (void*)clone);
0 0 RETVAL = sv_setref_pv(newSV(0), HvNAME(SvSTASH(SvRV(self_sv))), (void*)clone);
0 0 RETVAL = sv_setref_pv(newSV(0), HvNAME(SvSTASH(SvRV(self_sv))), (void*)clone);
0 0 RETVAL = sv_setref_pv(newSV(0), HvNAME(SvSTASH(SvRV(self_sv))), (void*)clone);
0 0 RETVAL = sv_setref_pv(newSV(0), HvNAME(SvSTASH(SvRV(self_sv))), (void*)clone);
0 0 RETVAL = sv_setref_pv(newSV(0), HvNAME(SvSTASH(SvRV(self_sv))), (void*)clone);
347 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);
348 0 0 if (!SvROK(href) || SvTYPE(SvRV(href)) != SVt_PVHV)
0 0 if (!SvROK(href) || SvTYPE(SvRV(href)) != SVt_PVHV)
351 0 0 hashmap_i32a_reserve(self, (size_t)HvUSEDKEYS(hv));
354 0 0 while ((he = hv_iternext(hv))) {
359 0 0 if (!hashmap_i32a_put(self, key, (void*)val, 0)) SvREFCNT_dec(val);
365 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);
366 0 0 if (!SvROK(other_sv) || !SvOBJECT(SvRV(other_sv)) || SvSTASH(SvRV(other_sv)) != stash_i32a)
0 0 if (!SvROK(other_sv) || !SvOBJECT(SvRV(other_sv)) || SvSTASH(SvRV(other_sv)) != stash_i32a)
0 0 if (!SvROK(other_sv) || !SvOBJECT(SvRV(other_sv)) || SvSTASH(SvRV(other_sv)) != stash_i32a)
370 0 0 uint32_t now = other->expires_at ? (uint32_t)time(NULL) : 0;
372 0 0 for (i = 0; i < other->capacity; i++) {
373 0 0 if (I32A_NODE_LIVE(other->nodes[i]) && !HM_TTL_SKIP_EXPIRED(other, i, now)) {
0 0 if (I32A_NODE_LIVE(other->nodes[i]) && !HM_TTL_SKIP_EXPIRED(other, i, now)) {
0 0 if (I32A_NODE_LIVE(other->nodes[i]) && !HM_TTL_SKIP_EXPIRED(other, i, now)) {
0 0 if (I32A_NODE_LIVE(other->nodes[i]) && !HM_TTL_SKIP_EXPIRED(other, i, now)) {
0 0 if (I32A_NODE_LIVE(other->nodes[i]) && !HM_TTL_SKIP_EXPIRED(other, i, now)) {
375 0 0 if (!hashmap_i32a_put(self, other->nodes[i].key, (void*)other->nodes[i].value, 0)) SvREFCNT_dec((SV*)other->nodes[i].value);
383 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);
385 0 1 uint32_t now = self->expires_at ? (uint32_t)time(NULL) : 0;
387 16 1 for (i = 0; i < self->capacity; i++) {
388 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)) {
389 1 0 SV* val = self->nodes[i].value ? SvREFCNT_inc((SV*)self->nodes[i].value) : &PL_sv_undef;
402 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);
405 0 0 if (!RETVAL) SvREFCNT_dec(value);
412 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);
416 0 2 if (idx >= self->capacity) {
420 0 2 if (was_found) SvREFCNT_dec(default_value);