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

Reply via email to