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]