Changeset: a91fc1d11e57 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a91fc1d11e57
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_atoms.c
        gdk/gdk_bbp.c
        gdk/gdk_calc_addsub.c
        gdk/gdk_calc_convert.c
        gdk/gdk_firstn.c
        gdk/gdk_group.c
        gdk/gdk_join.c
        gdk/gdk_logger.c
        gdk/gdk_orderidx.c
        gdk/gdk_project.c
        gdk/gdk_rsort.c
        gdk/gdk_sample.c
        gdk/gdk_ssort.c
        gdk/gdk_storage.c
        gdk/gdk_strimps.c
        gdk/gdk_string.c
        gdk/gdk_subquery.c
        gdk/gdk_utils.c
        geom/monetdb5/geod.c
        geom/monetdb5/geom.c
        geom/monetdb5/geomBulk.c
        geom/monetdb5/geom_atoms.c
        monetdb5/extras/rapi/rapi.c
        monetdb5/mal/mal_import.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_listing.c
        monetdb5/mal/mal_session.c
        monetdb5/modules/atoms/json.c
        monetdb5/modules/atoms/str.c
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/kernel/microbenchmark.c
        monetdb5/modules/mal/inspect.c
        monetdb5/modules/mal/mal_io.c
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/manifold.c
        monetdb5/modules/mal/manual.c
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/txtsim.c
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_constants.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_dict.c
        monetdb5/optimizer/opt_emptybind.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_for.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_inline.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_projectionpath.c
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_reorder.c
        sql/backends/monet5/UDF/pyapi3/conversion3.c
        sql/backends/monet5/for.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_bincopy.c
        sql/backends/monet5/sql_bincopyconvert.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_user.c
        sql/common/sql_list.c
        sql/server/rel_optimize_proj.c
        sql/server/rel_optimize_sel.c
        sql/server/rel_unnest.c
        sql/server/sql_privileges.c
        sql/storage/bat/bat_logger.c
        sql/storage/store.c
Branch: Dec2025
Log Message:

Put allocator pointer into allocator_state, remove arg from ma_close().


diffs (truncated from 4192 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -564,7 +564,7 @@ gdk_return log_tsequence(logger *lg, int
 gdk_return log_tstart(logger *lg, bool flushnow, ulng *log_file_id);
 ATOMIC_TYPE lvl_per_component[];
 void *ma_alloc(allocator *sa, size_t sz);
-void ma_close(allocator *sa, const allocator_state *);
+void ma_close(const allocator_state *);
 void ma_destroy(allocator *sa);
 void ma_free(allocator *sa, void *);
 exception_buffer *ma_get_eb(allocator *sa) __attribute__((__pure__));
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -75,6 +75,7 @@ typedef struct {
        size_t objects;
        size_t inuse;
        size_t tmp_used;
+       allocator *ma;
 } allocator_state;
 
 #include "gdk_system.h"
@@ -1766,7 +1767,7 @@ gdk_export char *ma_strconcat(allocator 
 gdk_export size_t ma_size(allocator *sa);
 gdk_export const char *ma_name(allocator *sa);
 gdk_export allocator_state ma_open(allocator *sa);  /* open new frame of 
tempory allocations */
-gdk_export void ma_close(allocator *sa, const allocator_state *); /* close 
temporary frame, reset to old state */
+gdk_export void ma_close(const allocator_state *); /* close temporary frame, 
reset to old state */
 gdk_export void ma_free(allocator *sa, void *);
 gdk_export exception_buffer *ma_get_eb(allocator *sa)
        __attribute__((__pure__));
@@ -1874,14 +1875,13 @@ gdk_export void ma_info(const allocator 
                          _sa, ma_name(_sa), _as.tmp_used);             \
                _as;                                                    \
        })
-#define ma_close(sa, as)                                       \
-       ({                                                      \
-               allocator *_sa = (sa);                          \
-               allocator_state *_as = (as);                    \
-               TRC_DEBUG(ALLOC,                                \
-                         "ma_close(%p(%s), tmp_used = %zu)\n", \
-                         _sa, ma_name(_sa), _as->tmp_used);    \
-               ma_close(_sa, _as);                             \
+#define ma_close(as)                                                   \
+       ({                                                              \
+               allocator_state *_as = (as);                            \
+               TRC_DEBUG(ALLOC,                                        \
+                         "ma_close(%p(%s), tmp_used = %zu)\n",         \
+                         _as->ma, ma_name(_as->ma), _as->tmp_used);    \
+               ma_close(_as);                                          \
        })
 #define ma_reset(sa)                                                   \
        ({                                                              \
diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c
--- a/gdk/gdk_aggr.c
+++ b/gdk/gdk_aggr.c
@@ -226,7 +226,7 @@ dofsum(const void *restrict values, oid 
        }
        pergroup = ma_alloc(ma, ngrp * sizeof(*pergroup));
        if (pergroup == NULL) {
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                return BUN_NONE;
        }
        for (grp = 0; grp < ngrp; grp++) {
@@ -235,7 +235,7 @@ dofsum(const void *restrict values, oid 
                        .partials = ma_alloc(ma, 2 * sizeof(double)),
                };
                if (pergroup[grp].partials == NULL) {
-                       ma_close(ma, &ma_state);
+                       ma_close(&ma_state);
                        return BUN_NONE;
                }
        }
@@ -408,13 +408,13 @@ dofsum(const void *restrict values, oid 
                        ((dbl *) results)[grp] = hi;
                }
        }
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return nils;
 
   overflow:
        GDKerror("22003!overflow in sum aggregate.\n");
   bailout:
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return BUN_NONE;
 }
 
@@ -731,7 +731,7 @@ dosum(const void *restrict values, bool 
        /* allocate bitmap for seen group ids */
        seen = ma_zalloc(ma, ((ngrp + 31) / 32) * sizeof(int));
        if (seen == NULL) {
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                return BUN_NONE;
        }
 
@@ -871,23 +871,23 @@ dosum(const void *restrict values, bool 
                        }
                }
        }
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
 
        return nils;
 
   unsupported:
        GDKerror("%s: type combination (sum(%s)->%s) not supported.\n",
                 func, ATOMname(tp1), ATOMname(tp2));
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return BUN_NONE;
 
   overflow:
        GDKerror("22003!overflow in sum aggregate.\n");
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return BUN_NONE;
 
   bailout:
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return BUN_NONE;
 }
 
@@ -1360,7 +1360,7 @@ doprod(const void *restrict values, oid 
        /* allocate bitmap for seen group ids */
        seen = ma_zalloc(ma, ((ngrp + 31) / 32) * sizeof(int));
        if (seen == NULL) {
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                return BUN_NONE;
        }
 
@@ -1550,23 +1550,23 @@ doprod(const void *restrict values, oid 
                        }
                }
        }
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
 
        return nils;
 
   unsupported:
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        GDKerror("%s: type combination (mul(%s)->%s) not supported.\n",
                 func, ATOMname(tp1), ATOMname(tp2));
        return BUN_NONE;
 
   overflow:
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        GDKerror("22003!overflow in product aggregate.\n");
        return BUN_NONE;
 
   bailout:
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return BUN_NONE;
 }
 
@@ -1825,12 +1825,12 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT 
 
        if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci)) != 
NULL) {
                GDKerror("%s\n", err);
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                return GDK_FAIL;
        }
        if (g == NULL) {
                GDKerror("b and g must be aligned\n");
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                return GDK_FAIL;
        }
 
@@ -1839,20 +1839,20 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT 
                 * with nil in the tail */
                bn = BATconstant(ngrp == 0 ? 0 : min, TYPE_dbl, &dbl_nil, ngrp, 
TRANSIENT);
                if (bn == NULL) {
-                       ma_close(ma, &ma_state);
+                       ma_close(&ma_state);
                        return GDK_FAIL;
                }
                if (cntsp) {
                        lng zero = 0;
                        if ((cn = BATconstant(ngrp == 0 ? 0 : min, TYPE_lng, 
&zero, ngrp, TRANSIENT)) == NULL) {
                                BBPreclaim(bn);
-                               ma_close(ma, &ma_state);
+                               ma_close(&ma_state);
                                return GDK_FAIL;
                        }
                        *cntsp = cn;
                }
                *bnp = bn;
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                return GDK_SUCCEED;
        }
 
@@ -1863,20 +1863,20 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT 
                /* trivial: singleton groups, so all results are equal
                 * to the inputs (but possibly a different type) */
                if ((bn = BATconvert(b, s, TYPE_dbl, 0, 0, 0)) == NULL) {
-                       ma_close(ma, &ma_state);
+                       ma_close(&ma_state);
                        return GDK_FAIL;
                }
                if (cntsp) {
                        lng one = 1;
                        if ((cn = BATconstant(ngrp == 0 ? 0 : min, TYPE_lng, 
&one, ngrp, TRANSIENT)) == NULL) {
                                BBPreclaim(bn);
-                               ma_close(ma, &ma_state);
+                               ma_close(&ma_state);
                                return GDK_FAIL;
                        }
                        *cntsp = cn;
                }
                *bnp = bn;
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                return GDK_SUCCEED;
        }
 
@@ -1976,7 +1976,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT 
                  ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
                  ALGOOPTBATPAR(s), ALGOOPTBATPAR(bn),
                  ci.seq, ci.ncand, GDKusec() - t0);
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return GDK_SUCCEED;
   bailout:
        bat_iterator_end(&bi);
@@ -1986,7 +1986,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT 
                BBPreclaim(*cntsp);
                *cntsp = NULL;
        }
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return GDK_FAIL;
 }
 
@@ -2039,7 +2039,7 @@ BATgroupavg3(BAT **avgp, BAT **remp, BAT
        (void) VALinit(ma, &zero, TYPE_bte, &(bte){0});
        bn = BATconstant(min, b->ttype, VALconvert(ma, b->ttype, &zero),
                         ngrp, TRANSIENT);
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        rn = BATconstant(min, TYPE_lng, &(lng){0}, ngrp, TRANSIENT);
        cn = BATconstant(min, TYPE_lng, &(lng){0}, ngrp, TRANSIENT);
        if (bn == NULL || rn == NULL || cn == NULL) {
@@ -2671,7 +2671,7 @@ BATgroupavg3combine(BAT *avg, BAT *rem, 
        bn = BATconstant(min, avg->ttype,
                        VALconvert(ma, avg->ttype, &zero),
                         ngrp, TRANSIENT);
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        /* rn and cn are temporary storage of intermediates */
        rn = BATconstant(min, TYPE_lng, &(lng){0}, ngrp, TRANSIENT);
        cn = BATconstant(min, TYPE_lng, &(lng){0}, ngrp, TRANSIENT);
@@ -4659,12 +4659,12 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g,
                                 * functions) argument */
 
        if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci)) != 
NULL) {
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                GDKerror("%s: %s\n", func, err);
                return NULL;
        }
        if (g == NULL) {
-               ma_close(ma, &ma_state);
+               ma_close(&ma_state);
                GDKerror("%s: b and g must be aligned\n", func);
                return NULL;
        }
@@ -4779,7 +4779,7 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g,
                  variance ? "true" : "false",
                  ALGOOPTBATPAR(bn), ALGOOPTBATPAR(an),
                  func, GDKusec() - t0);
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return bn;
   overflow:
        GDKerror("22003!overflow in calculation.\n");
@@ -4789,7 +4789,7 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g,
        if (an)
                BBPreclaim(an);
        BBPreclaim(bn);
-       ma_close(ma, &ma_state);
+       ma_close(&ma_state);
        return NULL;
 }
 
@@ -4892,12 +4892,12 @@ dogroupcovariance(BAT *b1, BAT *b2, BAT 
        (void) tp;
 
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to