Changeset: 969f7427c81f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=969f7427c81f
Modified Files:
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_profiler.h
monetdb5/modules/mal/profiler.c
monetdb5/optimizer/opt_macro.c
monetdb5/optimizer/opt_mergetable.c
Branch: Jan2014
Log Message:
Some potential leaks fixed
diffs (214 lines):
diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -50,11 +50,6 @@ static int offlineProfiling = FALSE;
static int cachedProfiling = FALSE;
static str myname = 0;
-int
-profilerAvailable(void)
-{
- return 1;
-}
static void offlineProfilerEvent(int idx, MalBlkPtr mb, MalStkPtr stk, int pc,
int start);
static void cachedProfilerEvent(int idx, MalBlkPtr mb, MalStkPtr stk, int pc);
static int initTrace(void);
diff --git a/monetdb5/mal/mal_profiler.h b/monetdb5/mal/mal_profiler.h
--- a/monetdb5/mal/mal_profiler.h
+++ b/monetdb5/mal/mal_profiler.h
@@ -72,7 +72,6 @@ mal_export str setLogStreamStream(Module
mal_export str setStartPoint(Module cntxt, str mod, str fcn);
mal_export str setEndPoint(Module cntxt, str mod, str fcn);
-mal_export int profilerAvailable(void);
mal_export str startProfiling(void);
mal_export str stopProfiling(void);
mal_export str cleanupProfiler(void);
diff --git a/monetdb5/modules/mal/profiler.c b/monetdb5/modules/mal/profiler.c
--- a/monetdb5/modules/mal/profiler.c
+++ b/monetdb5/modules/mal/profiler.c
@@ -75,12 +75,6 @@
#include "monetdb_config.h"
#include "profiler.h"
-#define checkProfiler(X) \
- if( ! profilerAvailable()) \
- throw(MAL, "profiler." X,\
- OPERATION_FAILED " Monet not compiled for performance monitoring");
-
-
str
CMDactivateProfiler(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
@@ -89,7 +83,6 @@ CMDactivateProfiler(Client cntxt, MalBlk
(void) cntxt; /* fool compiler */
(void) mb; /* fool compiler */
- checkProfiler("activate");
for ( i= pci->retc; i < pci->argc && msg == MAL_SUCCEED; i++)
msg =activateCounter(*(str*)
getArgReference(stk,pci,i));
return msg;
@@ -103,7 +96,6 @@ CMDdeactivateProfiler(Client cntxt, MalB
(void) cntxt; /* fool compiler */
(void) mb; /* fool compiler */
- checkProfiler("deactivate");
for ( i= pci->retc; i < pci->argc && msg == MAL_SUCCEED; i++)
msg =deactivateCounter(*(str*)
getArgReference(stk,pci,i));
return msg;
@@ -115,7 +107,6 @@ CMDsetFilterProfiler(Client cntxt, MalBl
str *mod = (str*) getArgReference(stk,pci,1);
str *fcn = (str*) getArgReference(stk,pci,2);
(void) mb; /* fool compiler */
- checkProfiler("setFilter");
setFilter(cntxt->nspace, *mod, *fcn);
return MAL_SUCCEED;
}
@@ -129,7 +120,6 @@ CMDsetAllProfiler(Client cntxt, MalBlkPt
(void) mb; /* fool compiler */
(void) stk;
(void) pc;
- checkProfiler("setFilter");
setFilter(cntxt->nspace, x, y);
GDKfree(x);
GDKfree(y);
@@ -177,7 +167,6 @@ CMDclrFilterProfiler(Client cntxt, MalBl
str *mod = (str*) getArgReference(stk,pci,1);
str *fcn = (str*) getArgReference(stk,pci,2);
(void) mb; /* fool compiler */
- checkProfiler("clrFilter");
clrFilter(cntxt->nspace, *mod, *fcn);
return MAL_SUCCEED;
}
@@ -191,7 +180,6 @@ CMDsetNoneProfiler(Client cntxt, MalBlkP
(void) mb; /* fool compiler */
(void) stk;
(void) pci;
- checkProfiler("clrFilter");
clrFilter(cntxt->nspace, x, y);
return MAL_SUCCEED;
}
@@ -200,10 +188,11 @@ str
CMDsetProfilerFile(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
str *fnme = (str*) getArgReference(stk,pci,1);
+ str msg = MAL_SUCCEED;
(void) mb; /* fool compiler */
- checkProfiler("setProfiler");
- setLogFile(cntxt->fdout,cntxt->nspace, *fnme);
- return MAL_SUCCEED;
+ if( msg == MAL_SUCCEED)
+ setLogFile(cntxt->fdout,cntxt->nspace, *fnme);
+ return msg;
}
str
@@ -212,7 +201,6 @@ CMDsetProfilerStream (Client cntxt, MalB
str *host = (str*) getArgReference(stk,pci,1);
int *port = (int*) getArgReference(stk,pci,2);
(void) mb; /* fool compiler */
- checkProfiler("setProfiler");
setLogStream(cntxt->nspace, *host, *port);
return MAL_SUCCEED;
}
@@ -223,7 +211,6 @@ CMDstartPointProfiler(Client cntxt, MalB
str *mod = (str*) getArgReference(stk,pci,1);
str *fcn = (str*) getArgReference(stk,pci,2);
(void) mb; /* fool compiler */
- checkProfiler("startPoint");
setStartPoint(cntxt->nspace, *mod, *fcn);
return MAL_SUCCEED;
}
@@ -234,7 +221,6 @@ CMDendPointProfiler(Client cntxt, MalBlk
str *mod = (str*) getArgReference(stk,pci,1);
str *fcn = (str*) getArgReference(stk,pci,2);
(void) mb; /* fool compiler */
- checkProfiler("endPoint");
setStartPoint(cntxt->nspace, *mod, *fcn);
return MAL_SUCCEED;
}
@@ -247,7 +233,6 @@ CMDstopProfiler(Client cntxt, MalBlkPtr
(void) stk;
(void) pci;
- checkProfiler("stop");
stopProfiling();
return MAL_SUCCEED;
}
@@ -260,7 +245,6 @@ CMDstartProfiler(Client cntxt, MalBlkPtr
(void) stk;
(void) pci;
- checkProfiler("start");
startProfiling();
return MAL_SUCCEED;
}
@@ -268,7 +252,6 @@ str
CMDnoopProfiler(int *res)
{
(void) res; /* fool compiler */
- checkProfiler("noop");
return MAL_SUCCEED;
}
@@ -280,7 +263,6 @@ str
CMDclearTrace(int *res)
{
(void) res; /* fool compiler */
- checkProfiler("clearTrace");
clearTrace();
return MAL_SUCCEED;
}
@@ -289,7 +271,6 @@ str
CMDdumpTrace(int *res)
{
(void) res; /* fool compiler */
- checkProfiler("dump");
throw(MAL, "profiler.dump", PROGRAM_NYI);
}
@@ -299,7 +280,6 @@ CMDgetTrace(int *res, str *ev)
BAT *bn;
(void) res; /* fool compiler */
- checkProfiler("getTrace");
bn = getTrace(*ev);
if (bn) {
BBPkeepref(*res = bn->batCacheid);
diff --git a/monetdb5/optimizer/opt_macro.c b/monetdb5/optimizer/opt_macro.c
--- a/monetdb5/optimizer/opt_macro.c
+++ b/monetdb5/optimizer/opt_macro.c
@@ -492,6 +492,7 @@ OPTorcamImplementation(Client cntxt, Mal
Symbol t;
str mod,fcn;
int j;
+ str msg;
(void) cntxt;
(void) stk;
@@ -517,7 +518,8 @@ OPTorcamImplementation(Client cntxt, Mal
for (t = s->subscope[j]; t != NULL; t = t->peer)
if (t->def->errors == 0) {
if (getSignature(t)->token == FUNCTIONsymbol)
- ORCAMprocessor(cntxt, target, t);
+ msg =ORCAMprocessor(cntxt, target, t);
+ if( msg) GDKfree(msg);
}
}
return 1;
diff --git a/monetdb5/optimizer/opt_mergetable.c
b/monetdb5/optimizer/opt_mergetable.c
--- a/monetdb5/optimizer/opt_mergetable.c
+++ b/monetdb5/optimizer/opt_mergetable.c
@@ -1710,9 +1710,11 @@ OPTmergetableImplementation(Client cntxt
chkTypes(cntxt->fdout, cntxt->nspace,mb, TRUE);
OPTDEBUGmergetable {
+ str err;
mnstr_printf(GDKout,"#Result of multi table optimizer\n");
- (void) optimizerCheck(cntxt,mb,"merge test",1,0,0);
+ err= optimizerCheck(cntxt,mb,"merge test",1,0,0);
printFunction(GDKout, mb, 0, LIST_MAL_ALL);
+ if( err) GDKfree(err);
}
if ( mb->errors == 0) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list