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

Reply via email to