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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list