Changeset: fff0b52a652b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fff0b52a652b Added Files: monetdb5/optimizer/opt_projection2candidate.c monetdb5/optimizer/opt_projection2candidate.h Removed Files: monetdb5/optimizer/opt_jit.c monetdb5/optimizer/opt_jit.h Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out monetdb5/optimizer/Makefile.ag monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_support.c monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.mal Branch: projection2candidate Log Message:
renamed "opt_jit" into "opt_projection2candidate"; first of all, this optimizer never intended to do any "jit" (just-in-time) compilation; second, all our MAL optimizer do "jit" (just-in-time) optimization. diffs (truncated from 331 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -10744,8 +10744,6 @@ Ready. [ "optimizer", "generator", "pattern optimizer.generator(mod:str, fcn:str):str ", "OPTwrapper;", "Sequence generator optimizer" ] [ "optimizer", "inline", "pattern optimizer.inline():str ", "OPTwrapper;", "" ] [ "optimizer", "inline", "pattern optimizer.inline(mod:str, fcn:str):str ", "OPTwrapper;", "Expand inline functions" ] -[ "optimizer", "jit", "pattern optimizer.jit():str ", "OPTwrapper;", "" ] -[ "optimizer", "jit", "pattern optimizer.jit(mod:str, fcn:str):str ", "OPTwrapper;", "Propagate candidate lists in just-in-time optimization" ] [ "optimizer", "json", "pattern optimizer.json():str ", "OPTwrapper;", "" ] [ "optimizer", "json", "pattern optimizer.json(mod:str, fcn:str):str ", "OPTwrapper;", "Unroll the mat.pack operation" ] [ "optimizer", "macro", "pattern optimizer.macro(mod:str, fcn:str, targetmod:str, targetfcn:str):void ", "OPTmacro;", "Inline a target function used in a specific function." ] @@ -10770,6 +10768,8 @@ Ready. [ "optimizer", "prelude", "pattern optimizer.prelude():void ", "optimizer_prelude;", "Initialize the optimizer" ] [ "optimizer", "profiler", "pattern optimizer.profiler():str ", "OPTwrapper;", "" ] [ "optimizer", "profiler", "pattern optimizer.profiler(mod:str, fcn:str):str ", "OPTwrapper;", "Collect properties for the profiler" ] +[ "optimizer", "projection2candidate", "pattern optimizer.projection2candidate():str ", "OPTwrapper;", "" ] +[ "optimizer", "projection2candidate", "pattern optimizer.projection2candidate(mod:str, fcn:str):str ", "OPTwrapper;", "Propagate candidate lists in just-in-time optimization" ] [ "optimizer", "projectionpath", "pattern optimizer.projectionpath():str ", "OPTwrapper;", "" ] [ "optimizer", "projectionpath", "pattern optimizer.projectionpath(mod:str, fcn:str):str ", "OPTwrapper;", "Join path constructor" ] [ "optimizer", "pushselect", "pattern optimizer.pushselect():str ", "OPTwrapper;", "" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -14983,8 +14983,6 @@ Ready. [ "optimizer", "generator", "pattern optimizer.generator(mod:str, fcn:str):str ", "OPTwrapper;", "Sequence generator optimizer" ] [ "optimizer", "inline", "pattern optimizer.inline():str ", "OPTwrapper;", "" ] [ "optimizer", "inline", "pattern optimizer.inline(mod:str, fcn:str):str ", "OPTwrapper;", "Expand inline functions" ] -[ "optimizer", "jit", "pattern optimizer.jit():str ", "OPTwrapper;", "" ] -[ "optimizer", "jit", "pattern optimizer.jit(mod:str, fcn:str):str ", "OPTwrapper;", "Propagate candidate lists in just-in-time optimization" ] [ "optimizer", "json", "pattern optimizer.json():str ", "OPTwrapper;", "" ] [ "optimizer", "json", "pattern optimizer.json(mod:str, fcn:str):str ", "OPTwrapper;", "Unroll the mat.pack operation" ] [ "optimizer", "macro", "pattern optimizer.macro(mod:str, fcn:str, targetmod:str, targetfcn:str):void ", "OPTmacro;", "Inline a target function used in a specific function." ] @@ -15009,6 +15007,8 @@ Ready. [ "optimizer", "prelude", "pattern optimizer.prelude():void ", "optimizer_prelude;", "Initialize the optimizer" ] [ "optimizer", "profiler", "pattern optimizer.profiler():str ", "OPTwrapper;", "" ] [ "optimizer", "profiler", "pattern optimizer.profiler(mod:str, fcn:str):str ", "OPTwrapper;", "Collect properties for the profiler" ] +[ "optimizer", "projection2candidate", "pattern optimizer.projection2candidate():str ", "OPTwrapper;", "" ] +[ "optimizer", "projection2candidate", "pattern optimizer.projection2candidate(mod:str, fcn:str):str ", "OPTwrapper;", "Propagate candidate lists in just-in-time optimization" ] [ "optimizer", "projectionpath", "pattern optimizer.projectionpath():str ", "OPTwrapper;", "" ] [ "optimizer", "projectionpath", "pattern optimizer.projectionpath(mod:str, fcn:str):str ", "OPTwrapper;", "Join path constructor" ] [ "optimizer", "pushselect", "pattern optimizer.pushselect():str ", "OPTwrapper;", "" ] diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1630,7 +1630,6 @@ str OPTgarbageCollectorImplementation(Cl str OPTgeneratorImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str OPTinlineImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); int OPTisAlias(InstrPtr p); -str OPTjitImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); str OPTjsonImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str OPTmacro(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); str OPTmacroImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); @@ -1644,6 +1643,7 @@ str OPTorcam(Client cntxt, MalBlkPtr mb, str OPTorcamImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); str OPTpostfixImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); str OPTprofilerImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +str OPTprojection2candidateImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); str OPTprojectionpathImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); str OPTpushselectImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str OPTquerylogImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); @@ -2312,7 +2312,6 @@ int isUnsafeFunction(InstrPtr q); int isUnsafeInstruction(InstrPtr q); int isUpdateInstruction(InstrPtr p); str iteratorRef; -str jitRef; str joinRef; str jsonRef; str languageRef; @@ -2498,6 +2497,7 @@ void profilerHeartbeatEvent(char *alter) str profilerRef; str projectRef; str projectdeltaRef; +str projection2candidateRef; str projectionRef; str projectionpathRef; void promptInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int flg); diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag --- a/monetdb5/optimizer/Makefile.ag +++ b/monetdb5/optimizer/Makefile.ag @@ -32,7 +32,7 @@ lib_optimizer = { opt_generator.c opt_generator.h \ opt_querylog.c opt_querylog.h \ opt_inline.c opt_inline.h \ - opt_jit.c opt_jit.h \ + opt_projection2candidate.c opt_projection2candidate.h \ opt_projectionpath.c opt_projectionpath.h \ opt_macro.c opt_macro.h \ opt_matpack.c opt_matpack.h \ diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c --- a/monetdb5/optimizer/opt_pipes.c +++ b/monetdb5/optimizer/opt_pipes.c @@ -91,7 +91,7 @@ static struct PIPELINES { "optimizer.candidates();" "optimizer.postfix();" "optimizer.deadcode();" -// "optimizer.jit();" awaiting the new batcalc api +// "optimizer.projection2candidate();" awaiting the new batcalc api // "optimizer.oltp();"awaiting the autocommit front-end changes "optimizer.wlc();" "optimizer.garbageCollector();", @@ -128,7 +128,7 @@ static struct PIPELINES { "optimizer.candidates();" "optimizer.postfix();" "optimizer.deadcode();" -// "optimizer.jit();" awaiting the new batcalc api +// "optimizer.projection2candidate();" awaiting the new batcalc api // "optimizer.oltp();"awaiting the autocommit front-end changes "optimizer.wlc();" "optimizer.garbageCollector();", @@ -170,7 +170,7 @@ static struct PIPELINES { "optimizer.candidates();" "optimizer.postfix();" "optimizer.deadcode();" -// "optimizer.jit();" awaiting the new batcalc api +// "optimizer.projection2candidate();" awaiting the new batcalc api // "optimizer.oltp();"awaiting the autocommit front-end changes "optimizer.wlc();" "optimizer.garbageCollector();", @@ -211,7 +211,7 @@ static struct PIPELINES { "optimizer.candidates();" "optimizer.postfix();" "optimizer.deadcode();" -// "optimizer.jit();" awaiting the new batcalc api +// "optimizer.projection2candidate();" awaiting the new batcalc api // "optimizer.oltp();"awaiting the autocommit front-end changes "optimizer.wlc();" "optimizer.garbageCollector();", diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c --- a/monetdb5/optimizer/opt_prelude.c +++ b/monetdb5/optimizer/opt_prelude.c @@ -154,7 +154,6 @@ str intersectRef; str intRef; str ioRef; str iteratorRef; -str jitRef; str joinRef; str jsonRef; str languageRef; @@ -212,6 +211,7 @@ str printRef; str prodRef; str profilerRef; str projectdeltaRef; +str projection2candidateRef; str projectionpathRef; str projectionRef; str projectRef; @@ -451,7 +451,6 @@ void optimizerInit(void) intRef = putName("int"); ioRef = putName("io"); iteratorRef = putName("iterator"); - jitRef = putName("jit"); joinRef = putName("join"); jsonRef = putName("json"); languageRef= putName("language"); @@ -509,6 +508,7 @@ void optimizerInit(void) prodRef = putName("prod"); profilerRef = putName("profiler"); projectdeltaRef = putName("projectdelta"); + projection2candidateRef = putName("projection2candidate"); projectionpathRef = putName("projectionpath"); projectionRef = putName("projection"); projectRef = putName("project"); diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h --- a/monetdb5/optimizer/opt_prelude.h +++ b/monetdb5/optimizer/opt_prelude.h @@ -156,7 +156,6 @@ mal_export str intersectRef; mal_export str intRef; mal_export str ioRef; mal_export str iteratorRef; -mal_export str jitRef; mal_export str joinRef; mal_export str jsonRef; mal_export str languageRef; @@ -215,6 +214,7 @@ mal_export str printRef; mal_export str prodRef; mal_export str profilerRef; mal_export str projectdeltaRef; +mal_export str projection2candidateRef; mal_export str projectionpathRef; mal_export str projectionRef; mal_export str projectRef; diff --git a/monetdb5/optimizer/opt_jit.c b/monetdb5/optimizer/opt_projection2candidate.c rename from monetdb5/optimizer/opt_jit.c rename to monetdb5/optimizer/opt_projection2candidate.c --- a/monetdb5/optimizer/opt_jit.c +++ b/monetdb5/optimizer/opt_projection2candidate.c @@ -20,16 +20,16 @@ */ #include "monetdb_config.h" #include "mal_builder.h" -#include "opt_jit.h" +#include "opt_projection2candidate.h" #if 0 -#define OPTDEBUGjit(CODE) { CODE } +#define OPTDEBUGprojection2candidate(CODE) { CODE } #else -#define OPTDEBUGjit(CODE) +#define OPTDEBUGprojection2candidate(CODE) #endif str -OPTjitImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) +OPTprojection2candidateImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { int i,actions = 0; int limit = mb->stop; @@ -42,14 +42,14 @@ OPTjitImplementation(Client cntxt, MalBl (void) cntxt; (void) pci; - OPTDEBUGjit( - fprintf(stderr, "#Optimize JIT\n"); + OPTDEBUGprojection2candidate( + fprintf(stderr, "#Optimize projection2candidate\n"); fprintFunction(stderr, mb, 0, LIST_MAL_DEBUG); ) setVariableScope(mb); if ( newMalBlkStmt(mb, mb->ssize) < 0) - throw(MAL,"optimizer.jit", SQLSTATE(HY001) MAL_MALLOC_FAIL); + throw(MAL,"optimizer.projection2candidate", SQLSTATE(HY001) MAL_MALLOC_FAIL); /* peephole optimization */ for (i = 0; i < limit; i++) { @@ -72,8 +72,8 @@ OPTjitImplementation(Client cntxt, MalBl if( q && getArg(q,0) == getArg(p,2) && getModuleId(q) == algebraRef && getFunctionId(q) == projectionRef ){ getArg(p,2)= getArg(q,2); p= pushArgument(mb,p, getArg(q,1)); - OPTDEBUGjit( - fprintf(stderr, "#Optimize JIT case 1\n"); + OPTDEBUGprojection2candidate( + fprintf(stderr, "#Optimize projection2candidate case 1\n"); fprintInstruction(stderr, mb,0,p,LIST_MAL_DEBUG); ) } @@ -81,11 +81,11 @@ OPTjitImplementation(Client cntxt, MalBl pushInstruction(mb,p); } - OPTDEBUGjit( + OPTDEBUGprojection2candidate( chkTypes(cntxt->usermodule,mb,TRUE); freeException(msg); msg = MAL_SUCCEED; - fprintf(stderr, "#Optimize JIT done\n"); + fprintf(stderr, "#Optimize projection2candidate done\n"); fprintFunction(stderr, mb, 0, LIST_MAL_DEBUG); ) @@ -96,7 +96,7 @@ OPTjitImplementation(Client cntxt, MalBl chkDeclarations(mb); /* keep all actions taken as a post block comment */ usec = GDKusec()- usec; - snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " usec","jit",actions, usec); + snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " usec","projection2candidate",actions, usec); newComment(mb,buf); if( actions >= 0) addtoMalBlkHistory(mb); diff --git a/monetdb5/optimizer/opt_jit.h b/monetdb5/optimizer/opt_projection2candidate.h rename from monetdb5/optimizer/opt_jit.h rename to monetdb5/optimizer/opt_projection2candidate.h --- a/monetdb5/optimizer/opt_jit.h +++ b/monetdb5/optimizer/opt_projection2candidate.h @@ -6,11 +6,11 @@ * Copyright 1997 - July 2008 CWI, August 2008 - 2018 MonetDB B.V. */ -#ifndef _MAL_JIT_ -#define _MAL_JIT_ +#ifndef _MAL_P2C_ +#define _MAL_P2C_ #include "opt_prelude.h" #include "opt_support.h" -mal_export str OPTjitImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +mal_export str OPTprojection2candidateImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); #endif diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c --- a/monetdb5/optimizer/opt_support.c +++ b/monetdb5/optimizer/opt_support.c @@ -41,7 +41,7 @@ struct OPTcatalog { {"history", 0, 0, 0}, {"inline", 0, 0, 0}, {"projectionpath", 0, 0, 0}, -{"jit", 0, 0, 0}, +{"projection2candidate", 0, 0, 0}, {"json", 0, 0, 0}, {"macro", 0, 0, 0}, {"matpack", 0, 0, 0}, diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c --- a/monetdb5/optimizer/opt_wrapper.c +++ b/monetdb5/optimizer/opt_wrapper.c @@ -33,7 +33,7 @@ #include "opt_garbageCollector.h" #include "opt_generator.h" #include "opt_inline.h" -#include "opt_jit.h" _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list