Changeset: 48bf4668a55f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=48bf4668a55f
Added Files:
tools/mserver/tomographintro.docx
tools/mserver/tomographintro.pdf
Modified Files:
clients/mapiclient/Tests/mclient--help.stable.err
clients/mapiclient/Tests/mclient--help.stable.err.Windows
clients/mapiclient/tomograph.c
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_function.c
Branch: default
Log Message:
merged
diffs (truncated from 4859 to 300 lines):
diff --git a/clients/mapiclient/Tests/mclient--help.stable.err
b/clients/mapiclient/Tests/mclient--help.stable.err
--- a/clients/mapiclient/Tests/mclient--help.stable.err
+++ b/clients/mapiclient/Tests/mclient--help.stable.err
@@ -21,7 +21,7 @@ Options are:
-E charset | --encoding=charset specify encoding (character set) of the
terminal
-f kind | --format=kind specify output format {csv,tab,raw,sql,xml}
-H | --history load/save cmdline history (default off)
- -i | --interactive[=tm] interpret \ commands on stdin, use time
formatting {ms,s,m}
+ -i | --interactive[=tm] interpret `\' commands on stdin, use time
formatting {ms,s,m}
-l language | --language=lang {sql,mal}
-L logfile | --log=logfile save client/server interaction
-s stmt | --statement=stmt run single statement
diff --git a/clients/mapiclient/Tests/mclient--help.stable.err.Windows
b/clients/mapiclient/Tests/mclient--help.stable.err.Windows
--- a/clients/mapiclient/Tests/mclient--help.stable.err.Windows
+++ b/clients/mapiclient/Tests/mclient--help.stable.err.Windows
@@ -21,7 +21,7 @@ Options are:
-E charset | --encoding=charset specify encoding (character set) of the
terminal
-f kind | --format=kind specify output format {csv,tab,raw,sql,xml}
-H | --history load/save cmdline history (default off)
- -i | --interactive[=tm] interpret \ commands on stdin, use time
formatting {ms,s,m}
+ -i | --interactive[=tm] interpret `\' commands on stdin, use time
formatting {ms,s,m}
-l language | --language=lang {sql,mal}
-L logfile | --log=logfile save client/server interaction
-s stmt | --statement=stmt run single statement
diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -1107,8 +1107,8 @@ showcolormap(char *filename, int all)
perc = (totalclkticks-longest) / ((cpus * longest) / 100.0);
perc = perc <0?0.0:perc;
- fprintf(f, "set label %d \"Parallelism %.2f %% of maximum", object++,
perc>100.0 ? 100.0:perc);
- fprintf(f, "\" at 1400.0,120.0\n");
+ fprintf(f, "set label %d \"Parallelism %.2f %%", object++, perc>100.0 ?
100.0:perc);
+ fprintf(f, "\" at 1550.0,120.0\n");
// show complete query text
if( currentquery ){
h = h1-40;
@@ -1267,7 +1267,7 @@ createTomogram(void)
//h = top <= cpus/2 ? 20: 10; /* unit height of bars */
h =10;
- height = cpus * 2 * h;
+ height = (top<cpus? cpus:top) * 2 * h;
rowoffset = top<cpus ? cpus-top:0;
fprintf(gnudata, "set yrange [0:%d]\n", height);
fprintf(gnudata, "set ylabel \"worker threads\"\n");
diff --git a/monetdb5/mal/mal_debugger.c b/monetdb5/mal/mal_debugger.c
--- a/monetdb5/mal/mal_debugger.c
+++ b/monetdb5/mal/mal_debugger.c
@@ -367,7 +367,7 @@ mdbLocateMalBlk(Client cntxt, MalBlkPtr
if (h)
*h = '[';
if (fsym == 0) {
- mnstr_printf(out, "'%s.%s' not found\n", b, fcnname +
1);
+ mnstr_printf(out, "#'%s.%s' not found\n", b, fcnname +
1);
return NULL;
}
m = fsym->def;
@@ -530,7 +530,7 @@ retryRead:
fsym = findModule(cntxt->nspace,
putName(modname, strlen(modname)));
if (fsym == cntxt->nspace && strcmp(modname,
"user")) {
- mnstr_printf(out, "module '%s' not
found\n", modname);
+ mnstr_printf(out, "#module '%s' not
found\n", modname);
continue;
}
for (i = 0; i < MAXSCOPE; i++) {
@@ -546,6 +546,7 @@ retryRead:
continue;
} else{
Module s;
+ mnstr_printf(out,"#");
for( s= cntxt->nspace; s; s= s->outer) {
mnstr_printf(out,"%s",s->name);
if( s->subscope==0)
mnstr_printf(out,"?");
@@ -601,7 +602,7 @@ retryRead:
if (fcnname == NULL) {
fsym = findModule(cntxt->nspace,
putName(modname, strlen(modname)));
if (fsym == 0) {
- mnstr_printf(out, "%s module
not found\n", modname);
+ mnstr_printf(out, "#%s module
not found\n", modname);
continue;
}
for (i = 0; i < MAXSCOPE; i++) {
@@ -617,7 +618,7 @@ retryRead:
fcnname++;
fsym = findModule(cntxt->nspace,
putName(modname, strlen(modname)));
if (fsym == 0) {
- mnstr_printf(out, "%s module not
found\n", modname);
+ mnstr_printf(out, "#%s module not
found\n", modname);
continue;
}
/* display the overloaded symbol definition */
@@ -679,7 +680,7 @@ retryRead:
mnstr_printf(out, "\n");
}
- mnstr_printf(out, "Entries displayed %d\n",
inuse);
+ mnstr_printf(out, "#Entries displayed %d\n",
inuse);
continue;
}
if (strncmp(b, "breakpoints", 11) == 0) {
@@ -706,7 +707,7 @@ retryRead:
if (strncmp(b, "debug", 5) == 0) {
skipWord(cntxt, b);
GDKdebug = atol(b);
- mnstr_printf(out, "Set debug mask to %d\n",
GDKdebug);
+ mnstr_printf(out, "#Set debug mask to %d\n",
GDKdebug);
break;
}
if (strncmp(b, "down", 4) == 0) {
@@ -715,7 +716,7 @@ retryRead:
stk = stkbase;
while (stk != ref && stk->up && stk->up != ref)
stk = stk->up;
- mnstr_printf(out, "%sgo down the stack\n",
"#mdb ");
+ mnstr_printf(out, "#%sgo down the stack\n",
"#mdb ");
mb = stk->blk;
break;
}
@@ -787,7 +788,7 @@ retryRead:
if (i != 0)
printBatDetails(out, i);
else
- mnstr_printf(out, "%s Symbol not
found\n", "#mdb ");
+ mnstr_printf(out, "#%s Symbol not
found\n", "#mdb ");
} else {
printBatInfo(out, getVar(mb, i), stk->stk + i);
}
@@ -830,7 +831,7 @@ retryRead:
if (i>-0 || *b == '0')
printStackElm(out, mb, stk->stk
+ i, i, size, first);
else
- mnstr_printf(out, "%s Symbol
not found\n", "#mdb ");
+ mnstr_printf(out, "#%s Symbol
not found\n", "#mdb ");
}
continue;
}
@@ -844,7 +845,7 @@ retryRead:
case 'u':
if (stk->up == NULL)
break;
- mnstr_printf(out, "%s go up the stack\n", "#mdb ");
+ mnstr_printf(out, "#%s go up the stack\n", "#mdb ");
stk = stk->up;
mb = stk->blk;
printCall(cntxt, mb, stk, pc);
@@ -871,6 +872,7 @@ retryRead:
if(*b == 'L')
lstng = LIST_MAL_NAME | LIST_MAL_VALUE |
LIST_MAL_TYPE | LIST_MAL_PROPS;
skipWord(cntxt, b);
+ skipBlanc(cntxt, b);
if (*b != 0) {
MalBlkPtr m = mdbLocateMalBlk(cntxt, mb, b,
out);
if (m && strchr(b, '*')) {
@@ -897,7 +899,7 @@ retryRead:
/* optionally dump the complete module
*/
fsym = findModule(cntxt->nspace,
putName(b, strlen(b)));
if (fsym == 0) {
- mnstr_printf(out, "'%s' not
found\n", b);
+ mnstr_printf(out, "#'%s' not
found\n", b);
continue;
}
for (i = 0; i < MAXSCOPE; i++) {
@@ -908,7 +910,8 @@ retryRead:
}
}
continue;
- } else if (isdigit((int) *b) || *b == '-' || *b
== '+')
+ }
+ if (isdigit((int) *b) || *b == '-' || *b == '+')
goto partial;
if (m)
debugFunction(out, m, 0, lstng,
0,m->stop);
@@ -933,8 +936,13 @@ partial:
*b = 0;
if (stepsize < 0)
first -= stepsize;
- debugFunction(out, mb, 0, lstng, first,
stepsize);
- first = first + stepsize > mb->stop ? first :
first + stepsize;
+ if( first > mb->stop ) {
+ mnstr_printf(out, "#line %d out of
range (<=%d)\n", first, mb->stop);
+ first = pc;
+ } else {
+ debugFunction(out, mb, 0, lstng, first,
stepsize);
+ first = first + stepsize > mb->stop ?
first : first + stepsize;
+ }
}
continue;
}
@@ -961,11 +969,11 @@ partial:
break;
}
case 'r': /* reset program counter */
- mnstr_printf(out, "%s restart with current stack\n",
"#mdb ");
+ mnstr_printf(out, "#%s restart with current stack\n",
"#mdb ");
stk->cmd = 'r';
break;
default:
- mnstr_printf(out, "%s debugger command expected\n",
"#mdb ");
+ mnstr_printf(out, "#%s debugger command expected\n",
"#mdb ");
mdbHelp(out);
}
} while (m);
diff --git a/monetdb5/mal/mal_function.c b/monetdb5/mal/mal_function.c
--- a/monetdb5/mal/mal_function.c
+++ b/monetdb5/mal/mal_function.c
@@ -466,7 +466,7 @@ cloneFunction(stream *out, Module scope,
* is returned.
*/
void
-debugFunction(stream *fd, MalBlkPtr mb, MalStkPtr stk, int flg, int first, int
size)
+debugFunction(stream *fd, MalBlkPtr mb, MalStkPtr stk, int flg, int first, int
step)
{
int i;
str ps;
@@ -476,11 +476,10 @@ debugFunction(stream *fd, MalBlkPtr mb,
mnstr_printf(fd, "# function definition missing\n");
return;
}
- if ( flg == 0)
+ if ( flg == 0 || step < 0 || first < 0 )
return;
- assert(size>=0);
- assert(first>=0 && first <mb->stop);
- for (i = first; i < first +size && i < mb->stop; i++){
+
+ for (i = first; i < first +step && i < mb->stop; i++){
ps = instruction2str(mb, stk, (p=getInstrPtr(mb, i)), flg);
if (ps) {
mnstr_printf(fd,"%-40s\t# %s\n",ps, (p->blk &&
p->blk->binding? p->blk->binding:""));
diff --git a/tools/mserver/tomographintro.docx
b/tools/mserver/tomographintro.docx
new file mode 100644
index
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3f2a294168a7929fa7f394f5ccd49d6eb1181cea
GIT binary patch
literal 161573
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
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list