📄 optimizer.c
字号:
#line 91 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"#include "mal_config.h"#include "optimizer.h"#line 98 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"stroptimizer_prelude(MalBlkPtr mb, MalStkPtr stk, InstrPtr p){ (void) stk; (void) mb; (void) p; updateScenario("MALoptimizer", (MALfcn) MALoptimizer); return MAL_SUCCEED;}int debugOpt = 0;strQOTdebugOptimizers(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){ debugOptimizers(mb, stk, pci); debugOpt = 1; return MAL_SUCCEED;}strQOTclrdebugOptimizers(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){ (void) mb; (void) stk; (void) pci; debugOpt = 0; return MAL_SUCCEED;}#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"strQOToptimize(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){ str modnme; str fcnnme; Symbol s; (void) stk; if (stk != 0) { modnme = (str) getArgValue(stk, pci, 1); fcnnme = (str) getArgValue(stk, pci, 2); } else { modnme = getArgDefault(mb, pci, 1); fcnnme = getArgDefault(mb, pci, 2); } s = findMALSymbol(modnme, fcnnme); if (s == NULL) throw(MAL, "optimizer.optimize", "operation not found\n"); removeInstruction(mb, pci); return optimizeMALBlock(s->def);}strQOTshowFlowGraph(MalBlkPtr mb, MalStkPtr stk, InstrPtr p){ str fname; str modnme; str fcnnme; Module scope = NULL; Symbol s = NULL; Client c = MCgetClient(); if (stk != 0) { modnme = (str) getArgValue(stk, p, 1); fcnnme = (str) getArgValue(stk, p, 2); fname = (str) getArgValue(stk, p, 3); } else { modnme = getArgDefault(mb, p, 1); fcnnme = getArgDefault(mb, p, 2); fname = getArgDefault(mb, p, 3); } scope = findModule(c->nspace, putName(modnme, strlen(modnme))); if (scope) s = findSymbolInModule(scope, putName(fcnnme, strlen(fcnnme))); if (s == NULL) { char buf[1024]; snprintf(buf,1024, "Could not find %s.%s\n", modnme, fcnnme); throw(MAL, "optimizer.showFlowGraph", buf); } showFlowGraph(s->def, stk, fname); return MAL_SUCCEED;}strQOTshowPlan(MalBlkPtr mb, MalStkPtr stk, InstrPtr p){ str modnme; str fcnnme; Module scope = NULL; Symbol s = NULL; Client c = MCgetClient(); if (stk != 0) { modnme = (str) getArgValue(stk, p, 1); fcnnme = (str) getArgValue(stk, p, 2); } else { modnme = getArgDefault(mb, p, 1); fcnnme = getArgDefault(mb, p, 2); } stream_printf(c->fdout,"#showPlan()\n"); removeInstruction(mb, p); if( modnme ) { scope = findModule(c->nspace, putName(modnme, strlen(modnme))); if (scope) s = findSymbolInModule(scope, putName(fcnnme, strlen(fcnnme))); if (s == NULL) { char buf[1024]; snprintf(buf,1024, "Could not find %s.%s\n", modnme, fcnnme); throw(MAL, "optimizer.showPlan", buf); } mb= s->def; } printFunction(c->fdout, mb, LIST_INPUT); return MAL_SUCCEED;}#line 324 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"#line 326 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -