Changeset: 5668350998c2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5668350998c2
Modified Files:
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_instruction.h
        monetdb5/optimizer/opt_dataflow.c
        sql/backends/monet5/sql_statement.c
Branch: malupgrade
Log Message:

Minor improvements


diffs (173 lines):

diff --git a/monetdb5/mal/mal_builder.c b/monetdb5/mal/mal_builder.c
--- a/monetdb5/mal/mal_builder.c
+++ b/monetdb5/mal/mal_builder.c
@@ -145,6 +145,7 @@ newExitStmt(MalBlkPtr mb, str nme)
                }
        } else
                getArg(q,0) = i;
+    pushInstruction(mb, q);
        return q;
 }
 
diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h
--- a/monetdb5/mal/mal_instruction.h
+++ b/monetdb5/mal/mal_instruction.h
@@ -21,7 +21,7 @@
 
 #define DEBUG_MAL_INSTR
 /* #define DEBUG_REDUCE */
-#define MAXARG 16                              /* was 4 BEWARE the code 
depends on this knowledge, where? */
+#define MAXARG 8                               /* was 4 BEWARE the code 
depends on this knowledge, where? */
 #define STMT_INCREMENT 256
 #define MAL_VAR_WINDOW  32
 #define MAXVARS STMT_INCREMENT /* >= STMT_INCREMENT */
diff --git a/monetdb5/optimizer/opt_dataflow.c 
b/monetdb5/optimizer/opt_dataflow.c
--- a/monetdb5/optimizer/opt_dataflow.c
+++ b/monetdb5/optimizer/opt_dataflow.c
@@ -249,13 +249,14 @@ OPTdataflowImplementation(Client cntxt, 
                        /* assumes that barrier entry/exit pairs are correct. */
                        /* A refinement is parallelize within a barrier block */
                        int copy= 1;
+                       pushInstruction(mb,p);
                        for ( k = 0; k < p->retc; k++)
                                init[getArg(p,k)]=1;
-                       pushInstruction(mb,p);
                        for ( i++; i<limit; i++) {
                                p = old[i];
                                for ( k = 0; k < p->retc; k++)
                                        init[getArg(p,k)]=1;
+                               pushInstruction(mb,p);
 
                                if (blockStart(p))
                                        copy++;
@@ -263,7 +264,6 @@ OPTdataflowImplementation(Client cntxt, 
                                        copy--;
                                        if ( copy == 0) break;
                                }
-                               pushInstruction(mb,p);
                        }
                        // reset admin
                        (void) memset((char*)assigned, 0, vlimit * sizeof 
(int));
diff --git a/sql/backends/monet5/sql_statement.c 
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -314,7 +314,7 @@ stmt_var(backend *be, const char *varnam
                if (buf == NULL)
                        return NULL;
                (void) snprintf(buf, MAXIDENTLEN, "A%s", varname);
-               q = newInstruction(NULL, NULL);
+               q = newInstruction( NULL, NULL);
                if (q == NULL) {
                        GDKfree(buf);
                        return NULL;
@@ -359,7 +359,7 @@ stmt_vars(backend *be, const char *varna
        if (buf == NULL)
                return NULL;
        (void) snprintf(buf, MAXIDENTLEN, "A%s", varname);
-       q = newInstruction(NULL, NULL);
+       q = newInstruction( NULL, NULL);
        if (q == NULL) {
                GDKfree(buf);
                return NULL;
@@ -1560,7 +1560,7 @@ select2_join2(backend *be, stmt *op1, st
                if (q == NULL)
                        return NULL;
                if (swapped) {
-                       InstrPtr r = newInstruction(NULL, NULL);
+                       InstrPtr r = newInstruction(  NULL, NULL);
                        if (r == NULL)
                                return NULL;
                        getArg(r, 0) = newTmpVariable(mb, TYPE_any);
@@ -1945,7 +1945,7 @@ stmt_genjoin(backend *be, stmt *l, stmt 
        q = pushNil(mb, q, TYPE_lng); /* estimate */
 
        if (swapped) {
-               InstrPtr r = newInstruction(NULL, NULL);
+               InstrPtr r = newInstruction( NULL, NULL);
                if (r == NULL)
                        return NULL;
                getArg(r, 0) = newTmpVariable(mb, TYPE_any);
@@ -2027,7 +2027,7 @@ dump_export_header(mvc *sql, MalBlkPtr m
        int tblId, nmeId, tpeId, lenId, scaleId, k;
        InstrPtr p= NULL, list;
 
-       list = newInstruction(sqlRef, export_tableRef);
+       list = newInstruction( sqlRef, export_tableRef);
        getArg(list,0) = newTmpVariable(mb,TYPE_int);
        if( file >= 0){
                list  = pushArgument(mb, list, file);
@@ -3258,12 +3258,13 @@ stmt_control_end(backend *be, stmt *cond
                if (q == NULL)
                        return NULL;
        } else {
-               q = newAssignment(mb);
+               q = newInstruction(NULL,NULL);
                if (q == NULL)
                        return NULL;
                getArg(q, 0) = cond->nr;
                q->argc = q->retc = 1;
                q->barrier = EXITsymbol;
+               pushInstruction(mb,q);
        }
        q = newStmt(mb, sqlRef, mvcRef);
        if (q == NULL)
@@ -3317,7 +3318,7 @@ stmt_return(backend *be, stmt *val, int 
                InstrPtr k = newStmt(mb, sqlRef, "dropDeclaredTables");
                (void) pushInt(mb, k, nr_declared_tables);
        }
-       q = newInstruction(NULL, NULL);
+       q = newInstruction( NULL, NULL);
        if (q == NULL)
                return NULL;
        q->barrier= RETURNsymbol;
@@ -3375,20 +3376,10 @@ stmt_assign(backend *be, const char *var
                q = pushArgumentId(mb, q, buf);
                if (q == NULL)
                        return NULL;
+               pushInstruction(mb, q);
+               if (mb->errors)
+                       return NULL;
                q->retc++;
-               q = pushArgument(mb, q, val->nr);
-               if (q){
-                       stmt *s = stmt_create(be->mvc->sa, st_assign);
-
-                       s->op2 = val;
-                       s->flag = (level << 1);
-                       s->q = q;
-                       s->nr = 1;
-                       pushInstruction(mb, q);
-                       if (mb->errors)
-                               return NULL;
-                       return s;
-               }
        } else {
                q = newStmt(mb, sqlRef, setVariableRef);
                q = pushArgument(mb, q, be->mvc_var);
@@ -3397,16 +3388,16 @@ stmt_assign(backend *be, const char *var
                        return NULL;
                getArg(q, 0) = be->mvc_var = newTmpVariable(mb, TYPE_int);
                be->mvc_var = getDestVar(q);
-               q = pushArgument(mb, q, val->nr);
-               if (q){
-                       stmt *s = stmt_create(be->mvc->sa, st_assign);
-
-                       s->op2 = val;
-                       s->flag = (level << 1);
-                       s->q = q;
-                       s->nr = 1;
-                       return s;
-               }
+       }
+       q = pushArgument(mb, q, val->nr);
+       if (q){
+               stmt *s = stmt_create(be->mvc->sa, st_assign);
+
+               s->op2 = val;
+               s->flag = (level << 1);
+               s->q = q;
+               s->nr = 1;
+               return s;
        }
        return NULL;
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to