summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordzaima <dzaimagit@gmail.com>2023-05-12 13:02:36 +0300
committerdzaima <dzaimagit@gmail.com>2023-05-12 13:51:30 +0300
commit6dc24bd99ba55eee6aed00d46eee82ee14b5d4e0 (patch)
tree4343239a36f78726315b9612c93c2af69890e8be
parent25883b410c09386f89c044d66c08fcd037804b4f (diff)
free arguments of SIMD 𝕨∊𝕩 & ∊𝕩
-rw-r--r--src/builtins/search.c5
-rw-r--r--src/builtins/selfsearch.c2
2 files changed, 3 insertions, 4 deletions
diff --git a/src/builtins/search.c b/src/builtins/search.c
index b1bf967d..0b2d8345 100644
--- a/src/builtins/search.c
+++ b/src/builtins/search.c
@@ -310,14 +310,13 @@ B memberOf_c2(B t, B w, B x) {
#undef WEQ
if (xia+wia>20 && we<=el_i16 && xe<=el_i16) {
- B r;
#if SINGELI
if (we==el_i8 && xe==el_i8) {
TALLOC(u8, tab, 256);
u64* rp; r = m_bitarrc(&rp, w);
simd_member_u8(tyany_ptr(x), xia, tyany_ptr(w), wia, rp, tab);
- TFREE(tab);
- return r;
+ TFREE(tab); decG(w);
+ goto dec_x;
}
#endif
TABLE(x, w, i8, 0, 1)
diff --git a/src/builtins/selfsearch.c b/src/builtins/selfsearch.c
index 6394b67e..d8b92a56 100644
--- a/src/builtins/selfsearch.c
+++ b/src/builtins/selfsearch.c
@@ -259,7 +259,7 @@ B memberOf_c1(B t, B x) {
TALLOC(u8, tab, 256);
u64* rp; B r = m_bitarrv(&rp, n);
simd_mark_firsts_u8(xv, n, rp, tab);
- TFREE(tab);
+ TFREE(tab); decG(x);
return r;
#else
LOOKUP(8);