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