Changeset: 3d5b5c6a3907 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3d5b5c6a3907
Modified Files:
        monetdb5/modules/kernel/batstr.c
Branch: resource_management
Log Message:

for tmp buf use tls allocator


diffs (truncated from 763 to 300 lines):

diff --git a/monetdb5/modules/kernel/batstr.c b/monetdb5/modules/kernel/batstr.c
--- a/monetdb5/modules/kernel/batstr.c
+++ b/monetdb5/modules/kernel/batstr.c
@@ -240,7 +240,9 @@ STRbatFromWChr(Client cntxt, MalBlkPtr m
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        size_t buflen = MAX(strlen(str_nil) + 1, 8);
        int *restrict vals, x;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        struct canditer ci1 = { 0 };
        oid off1;
@@ -327,6 +329,8 @@ STRbatFromWChr(Client cntxt, MalBlkPtr m
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(2, b, bs);
        return msg;
@@ -338,7 +342,9 @@ STRbatSpace(Client cntxt, MalBlkPtr mb, 
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
        int *restrict vals, x;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        static const char space[] = " ";
        const char *s = space;
@@ -425,6 +431,8 @@ STRbatSpace(Client cntxt, MalBlkPtr mb, 
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(2, b, bs);
        return msg;
@@ -437,7 +445,9 @@ do_batstr_str(Client cntxt, MalBlkPtr mb
        BATiter bi;
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        struct canditer ci1 = { 0 };
        oid off1;
@@ -518,6 +528,8 @@ do_batstr_str(Client cntxt, MalBlkPtr mb
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(2, b, bs);
        return msg;
@@ -534,7 +546,9 @@ do_batstr_conststr_str(Client cntxt, Mal
        BATiter bi;
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        const char *y = *getArgReference_str(stk, pci, 2);
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        struct canditer ci1 = { 0 };
        oid off1;
@@ -615,6 +629,8 @@ do_batstr_conststr_str(Client cntxt, Mal
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(2, b, bs);
        return msg;
@@ -631,7 +647,9 @@ do_batstr_str_conststr(Client cntxt, Mal
        BATiter bi;
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        const char *x = *getArgReference_str(stk, pci, 1);
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        struct canditer ci1 = { 0 };
        oid off1;
@@ -712,6 +730,8 @@ do_batstr_str_conststr(Client cntxt, Mal
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(2, b, bs);
        return msg;
@@ -727,7 +747,9 @@ do_batstr_batstr_str(Client cntxt, MalBl
 {
        BATiter lefti, righti;
        BAT *bn = NULL, *left = NULL, *lefts = NULL, *right = NULL, *rights = 
NULL;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        struct canditer ci1 = { 0 }, ci2 = { 0 };
        oid off1, off2;
@@ -825,6 +847,8 @@ do_batstr_batstr_str(Client cntxt, MalBl
        bat_iterator_end(&righti);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(4, left, lefts, right, rights);
        return msg;
@@ -841,7 +865,9 @@ do_batstr_constint_str(Client cntxt, Mal
        BATiter bi;
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        int y = *getArgReference_int(stk, pci, 2);
        bool nils = false;
        struct canditer ci1 = { 0 };
@@ -923,6 +949,8 @@ do_batstr_constint_str(Client cntxt, Mal
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(2, b, bs);
        return msg;
@@ -939,7 +967,9 @@ do_batstr_int_conststr(Client cntxt, Mal
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
        const char *x = *getArgReference_str(stk, pci, 1);
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        int y, *restrict inputs;
        bool nils = false;
        struct canditer ci1 = { 0 };
@@ -1023,6 +1053,8 @@ do_batstr_int_conststr(Client cntxt, Mal
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(2, b, bs);
        return msg;
@@ -1039,7 +1071,9 @@ do_batstr_batint_str(Client cntxt, MalBl
        BATiter lefti;
        BAT *bn = NULL, *left = NULL, *ls = NULL, *right = NULL, *rs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        int *restrict righti, y;
        struct canditer ci1 = { 0 }, ci2 = { 0 };
@@ -1140,6 +1174,8 @@ do_batstr_batint_str(Client cntxt, MalBl
        bat_iterator_end(&lefti);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(4, left, ls, right, rs);
        return msg;
@@ -1157,7 +1193,9 @@ do_batstr_constint_conststr_str(Client c
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
        const char *z = *getArgReference_str(stk, pci, 3);
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        int y = *getArgReference_int(stk, pci, 2);
        bool nils = false;
        struct canditer ci1 = { 0 };
@@ -1239,6 +1277,8 @@ do_batstr_constint_conststr_str(Client c
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(2, b, bs);
        return msg;
@@ -1257,7 +1297,9 @@ do_batstr_batint_conststr_str(Client cnt
        BAT *bn = NULL, *left = NULL, *ls = NULL, *right = NULL, *rs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
        const char *z = *getArgReference_str(stk, pci, 3);
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        int *restrict righti, y;
        struct canditer ci1 = { 0 }, ci2 = { 0 };
@@ -1358,6 +1400,8 @@ do_batstr_batint_conststr_str(Client cnt
        bat_iterator_end(&lefti);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(4, left, ls, right, rs);
        return msg;
@@ -1375,7 +1419,9 @@ do_batstr_constint_batstr_str(Client cnt
        BATiter lefti, righti;
        BAT *bn = NULL, *left = NULL, *ls = NULL, *right = NULL, *rs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        int y = *getArgReference_int(stk, pci, 2);
        struct canditer ci1 = { 0 }, ci2 = { 0 };
@@ -1474,6 +1520,8 @@ do_batstr_constint_batstr_str(Client cnt
        bat_iterator_end(&righti);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(4, left, ls, right, rs);
        return msg;
@@ -1492,7 +1540,9 @@ do_batstr_batint_batstr_str(Client cntxt
        BAT *bn = NULL, *arg1 = NULL, *arg1s = NULL, *arg2 = NULL, *arg2s = 
NULL,
                *arg3 = NULL, *arg3s = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        int *restrict arg2i, y;
        struct canditer ci1 = { 0 }, ci2 = { 0 }, ci3 = { 0 };
@@ -1605,6 +1655,8 @@ do_batstr_batint_batstr_str(Client cntxt
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(6, arg1, arg1s, arg2, arg2s, arg3, arg3s);
        return msg;
@@ -2587,7 +2639,9 @@ STRbatWChrAt(Client cntxt, MalBlkPtr mb,
        BAT *bn = NULL, *left = NULL, *lefts = NULL, *right = NULL, *rights = 
NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
        int *restrict righti, *restrict vals, next, y;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        struct canditer ci1 = { 0 }, ci2 = { 0 };
        oid off1, off2;
@@ -2665,6 +2719,8 @@ STRbatWChrAt(Client cntxt, MalBlkPtr mb,
        bat_iterator_end(&lefti);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
        finalize_output(res, bn, msg, nils, ci1.ncand);
        unfix_inputs(4, left, lefts, right, rights);
        return msg;
@@ -2677,7 +2733,9 @@ STRbatWChrAtcst(Client cntxt, MalBlkPtr 
        BAT *bn = NULL, *b = NULL, *bs = NULL;
        size_t buflen = INITIAL_STR_BUFFER_LENGTH;
        int y = *getArgReference_int(stk, pci, 2), *restrict vals, next;
-       str buf = ma_alloc(mb->ma, buflen), msg = MAL_SUCCEED;
+       allocator *ma = MT_thread_getallocator();
+       allocator_state *ma_state = ma_open(ma);
+       str buf = ma_alloc(ma, buflen), msg = MAL_SUCCEED;
        bool nils = false;
        struct canditer ci1 = { 0 };
        oid off1;
@@ -2737,6 +2795,8 @@ STRbatWChrAtcst(Client cntxt, MalBlkPtr 
        bat_iterator_end(&bi);
   bailout:
        //GDKfree(buf);
+       if (ma_state)
+               ma_close_to(ma, ma_state);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to