| Modifier and Type | Method and Description | 
|---|---|
DMLProgram | 
ScriptExecutor.getDmlProgram()
Obtain the program 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static void | 
SpoofCompiler.generateCode(DMLProgram dmlprog)  | 
| Modifier and Type | Method and Description | 
|---|---|
FederatedCost | 
FederatedCostEstimator.costEstimate(DMLProgram dmlProgram)
Estimate cost of given DML program in bytes. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
abstract boolean | 
IPAPass.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)
Rewrites the given program or its functions in place,
 with access to the read-only function call graph. 
 | 
boolean | 
IPAPassFlagNonDeterminism.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassRemoveUnnecessaryCheckpoints.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassInlineFunctions.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassPropagateReplaceLiterals.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassApplyStaticAndDynamicHopRewrites.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassRemoveConstantBinaryOps.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassEliminateDeadCode.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassForwardFunctionCalls.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassReplaceEvalFunctionCalls.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassCompressionWorkloadAnalysis.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassRemoveUnusedFunctions.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
boolean | 
IPAPassFlagFunctionsRecompileOnce.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)  | 
| Constructor and Description | 
|---|
FunctionCallGraph(DMLProgram prog)
Constructs the function call graph for all functions
 reachable from the main program. 
 | 
InterProceduralAnalysis(DMLProgram dmlp)
Creates a handle for performing inter-procedural analysis
 for a given DML program and its associated HOP DAGs. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
IPAPassRewriteFederatedPlan.rewriteProgram(DMLProgram prog,
              FunctionCallGraph fgraph,
              FunctionCallSizeInfo fcallSizes)
Estimates cost and selects a federated execution plan
 by setting the federated output value of each hop in the program. 
 | 
ProgramRewriteStatus | 
ProgramRewriter.rewriteProgramHopDAGs(DMLProgram dmlp)  | 
ProgramRewriteStatus | 
ProgramRewriter.rewriteProgramHopDAGs(DMLProgram dmlp,
                     boolean splitDags)  | 
ProgramRewriteStatus | 
ProgramRewriter.rewriteProgramHopDAGs(DMLProgram dmlp,
                     boolean splitDags,
                     ProgramRewriteStatus state)  | 
| Modifier and Type | Method and Description | 
|---|---|
DMLProgram | 
StatementBlock.getDMLProg()  | 
abstract DMLProgram | 
ParserWrapper.parse(String fileName,
     String dmlScript,
     Map<String,String> argVals)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
DMLTranslator.codgenHopsDAG(DMLProgram dmlp)  | 
void | 
DMLTranslator.constructHops(DMLProgram dmlp)  | 
void | 
DMLTranslator.constructHops(DMLProgram dmlp,
             boolean inclFuns)  | 
void | 
DMLTranslator.constructLops(DMLProgram dmlp)  | 
Program | 
DMLTranslator.getRuntimeProgram(DMLProgram prog,
                 DMLConfig config)  | 
boolean | 
StatementBlock.isMergeableFunctionCallBlock(DMLProgram dmlProg)  | 
boolean | 
StatementBlock.isRewritableFunctionCall(Statement stmt,
                        DMLProgram dmlProg)  | 
void | 
DMLTranslator.liveVariableAnalysis(DMLProgram dmlp)  | 
void | 
DMLTranslator.liveVariableAnalysis(DMLProgram dmlp,
                    boolean inclFuns)  | 
void | 
DMLTranslator.liveVariableAnalysisFunction(DMLProgram dmlp,
                            FunctionStatementBlock fsb)  | 
static ArrayList<StatementBlock> | 
StatementBlock.mergeFunctionCalls(List<StatementBlock> body,
                  DMLProgram dmlProg)  | 
static void | 
DMLTranslator.refreshMemEstimates(DMLProgram dmlp)  | 
static void | 
DMLTranslator.resetHopsDAGVisitStatus(DMLProgram dmlp)  | 
void | 
DMLTranslator.resetLopsDAGVisitStatus(DMLProgram dmlp)  | 
ArrayList<Statement> | 
StatementBlock.rewriteFunctionCallStatements(DMLProgram dmlProg,
                             ArrayList<Statement> statements)  | 
void | 
DMLTranslator.rewriteHopsDAG(DMLProgram dmlp)  | 
static Expression | 
StatementBlock.rHoistFunctionCallsFromExpressions(Expression expr,
                                  boolean root,
                                  ArrayList<Statement> tmp,
                                  DMLProgram prog)  | 
static List<StatementBlock> | 
StatementBlock.rHoistFunctionCallsFromExpressions(StatementBlock current,
                                  DMLProgram prog)  | 
static List<Statement> | 
StatementBlock.rHoistFunctionCallsFromExpressions(Statement stmt,
                                  DMLProgram prog)  | 
void | 
StatementBlock.setDMLProg(DMLProgram dmlProg)  | 
VariableSet | 
ParForStatementBlock.validate(DMLProgram dmlProg,
        VariableSet ids,
        HashMap<String,ConstIdentifier> constVars,
        boolean conditional)  | 
VariableSet | 
IfStatementBlock.validate(DMLProgram dmlProg,
        VariableSet ids,
        HashMap<String,ConstIdentifier> constVars,
        boolean conditional)  | 
VariableSet | 
ForStatementBlock.validate(DMLProgram dmlProg,
        VariableSet ids,
        HashMap<String,ConstIdentifier> constVars,
        boolean conditional)  | 
VariableSet | 
FunctionStatementBlock.validate(DMLProgram dmlProg,
        VariableSet ids,
        HashMap<String,ConstIdentifier> constVars,
        boolean conditional)
TODO: DRB:  This needs to be changed to reflect:
  
    1)  Default values for variables -- need to add R styled check here to make sure that once vars with 
    default values start, they keep going to the right
    
    2)  The other parameters for External Functions 
 | 
VariableSet | 
WhileStatementBlock.validate(DMLProgram dmlProg,
        VariableSet ids,
        HashMap<String,ConstIdentifier> constVars,
        boolean conditional)  | 
VariableSet | 
StatementBlock.validate(DMLProgram dmlProg,
        VariableSet ids,
        HashMap<String,ConstIdentifier> constVars,
        boolean conditional)  | 
void | 
FunctionCallIdentifier.validateExpression(DMLProgram dmlp,
                  HashMap<String,DataIdentifier> ids,
                  HashMap<String,ConstIdentifier> constVars,
                  boolean conditional)
Validate parse tree : Process ExtBuiltinFunction Expression is an
 assignment statement
 
 NOTE: this does not override the normal validateExpression because it needs to pass dmlp! 
 | 
void | 
DMLTranslator.validateFunction(DMLProgram dmlp,
                FunctionStatementBlock fsb)  | 
void | 
DMLTranslator.validateParseTree(DMLProgram dmlp)  | 
void | 
DMLTranslator.validateParseTree(DMLProgram dmlp,
                 boolean inclFuns)  | 
| Constructor and Description | 
|---|
DMLTranslator(DMLProgram dmlp)  | 
| Modifier and Type | Method and Description | 
|---|---|
DMLProgram | 
DMLParserWrapper.doParse(String fileName,
       String dmlScript,
       String sourceNamespace,
       Map<String,String> argVals)
This function is supposed to be called directly only from DmlSyntacticValidator when it encounters 'import' 
 | 
DMLProgram | 
DMLParserWrapper.parse(String fileName,
     String dmlScript,
     Map<String,String> argVals)
Parses the passed file with command line parameters. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static Map<Long,WTreeRoot> | 
WorkloadAnalyzer.getAllCandidateWorkloads(DMLProgram prog)  | 
| Modifier and Type | Method and Description | 
|---|---|
DMLProgram | 
Program.getDMLProg()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
Program.setDMLProg(DMLProgram prog)  | 
| Constructor and Description | 
|---|
Program(DMLProgram prog)  | 
| Modifier and Type | Method and Description | 
|---|---|
static LocalVariableMap | 
ProgramRecompiler.getReusableScalarVariables(DMLProgram prog,
                          StatementBlock parforSB,
                          LocalVariableMap vars)  | 
static boolean | 
ProgramRecompiler.isApplicableForReuseVariable(DMLProgram prog,
                            StatementBlock parforSB,
                            String var)
This function determines if an parfor input variable is guaranteed to be read-only
 across multiple invocations of parfor optimization (e.g., in a surrounding while loop). 
 | 
void | 
OptTreePlanMappingAbstract.putRootProgram(DMLProgram prog,
              Program rtprog)  | 
| Modifier and Type | Method and Description | 
|---|---|
static String | 
Explain.display(DMLProgram prog,
       Program rtprog,
       Explain.ExplainType type,
       Explain.ExplainCounts counts)  | 
static String | 
Explain.explain(DMLProgram prog)  | 
static String | 
Explain.explain(DMLProgram prog,
       Program rtprog,
       Explain.ExplainType type)  | 
static String | 
Explain.explain(DMLProgram prog,
       Program rtprog,
       Explain.ExplainType type,
       Explain.ExplainCounts counts)  | 
Copyright © 2021 The Apache Software Foundation. All rights reserved.