Modifier and Type | Method and Description |
---|---|
static void |
JMLCUtils.rCleanupRuntimeProgram(ProgramBlock pb,
HashSet<String> outputs)
Cleanup program blocks (called recursively).
|
Modifier and Type | Method and Description |
---|---|
static void |
SpoofCompiler.generateCodeFromProgramBlock(ProgramBlock current) |
Modifier and Type | Method and Description |
---|---|
static double |
CostEstimationWrapper.getTimeEstimate(ProgramBlock pb,
ExecutionContext ec,
boolean recursive) |
double |
CostEstimator.getTimeEstimate(ProgramBlock pb,
LocalVariableMap vars,
HashMap<String,VarStats> stats,
boolean recursive) |
Modifier and Type | Method and Description |
---|---|
static void |
Recompiler.recompileProgramBlockInstructions(ProgramBlock pb)
This method does NO full program block recompile (no stats update, no rewrites, no recursion) but
only regenerates lops and instructions.
|
Modifier and Type | Method and Description |
---|---|
static void |
Recompiler.recompileProgramBlockHierarchy(ArrayList<ProgramBlock> pbs,
LocalVariableMap vars,
long tid,
Recompiler.ResetType resetRecompile) |
static void |
Recompiler.recompileProgramBlockHierarchy2Forced(ArrayList<ProgramBlock> pbs,
long tid,
HashSet<String> fnStack,
LopProperties.ExecType et)
Method to recompile program block hierarchy to forced execution time.
|
Modifier and Type | Method and Description |
---|---|
ProgramBlock |
DMLTranslator.createRuntimeProgramBlock(Program prog,
StatementBlock sb,
DMLConfig config) |
Modifier and Type | Method and Description |
---|---|
void |
DMLTranslator.codgenHopsDAG(ProgramBlock pb) |
Modifier and Type | Class and Description |
---|---|
class |
BasicProgramBlock |
class |
ForProgramBlock |
class |
FunctionProgramBlock |
class |
IfProgramBlock |
class |
ParForProgramBlock
The ParForProgramBlock has the same execution semantics as a ForProgamBlock but executes
the independent iterations in parallel.
|
class |
WhileProgramBlock |
Modifier and Type | Method and Description |
---|---|
ArrayList<ProgramBlock> |
BasicProgramBlock.getChildBlocks() |
ArrayList<ProgramBlock> |
IfProgramBlock.getChildBlocks() |
ArrayList<ProgramBlock> |
WhileProgramBlock.getChildBlocks() |
ArrayList<ProgramBlock> |
ForProgramBlock.getChildBlocks() |
ArrayList<ProgramBlock> |
FunctionProgramBlock.getChildBlocks() |
abstract ArrayList<ProgramBlock> |
ProgramBlock.getChildBlocks()
Get the list of child program blocks if nested;
otherwise this method returns null.
|
ArrayList<ProgramBlock> |
IfProgramBlock.getChildBlocksElseBody() |
ArrayList<ProgramBlock> |
IfProgramBlock.getChildBlocksIfBody() |
ArrayList<ProgramBlock> |
Program.getProgramBlocks() |
Modifier and Type | Method and Description |
---|---|
void |
Program.addProgramBlock(ProgramBlock pb) |
void |
WhileProgramBlock.addProgramBlock(ProgramBlock childBlock) |
void |
ForProgramBlock.addProgramBlock(ProgramBlock childBlock) |
void |
FunctionProgramBlock.addProgramBlock(ProgramBlock childBlock) |
void |
IfProgramBlock.addProgramBlockElseBody(ProgramBlock pb) |
void |
IfProgramBlock.addProgramBlockIfBody(ProgramBlock pb) |
Modifier and Type | Method and Description |
---|---|
void |
WhileProgramBlock.setChildBlocks(ArrayList<ProgramBlock> childs) |
void |
ForProgramBlock.setChildBlocks(ArrayList<ProgramBlock> pbs) |
void |
FunctionProgramBlock.setChildBlocks(ArrayList<ProgramBlock> pbs) |
void |
IfProgramBlock.setChildBlocksElseBody(ArrayList<ProgramBlock> blocks) |
void |
IfProgramBlock.setChildBlocksIfBody(ArrayList<ProgramBlock> blocks) |
Modifier and Type | Method and Description |
---|---|
static void |
ParamservUtils.recompileProgramBlocks(int k,
List<ProgramBlock> pbs) |
Modifier and Type | Method and Description |
---|---|
ArrayList<ProgramBlock> |
ParForBody.getChildBlocks() |
Modifier and Type | Method and Description |
---|---|
void |
ParForBody.setChildBlocks(ArrayList<ProgramBlock> childBlocks) |
Constructor and Description |
---|
ParForBody(ArrayList<ProgramBlock> childBlocks,
ArrayList<ParForStatementBlock.ResultVar> resultVars,
ExecutionContext ec) |
Modifier and Type | Method and Description |
---|---|
ProgramBlock |
OptTreePlanMappingAbstract.getMappedProgramBlock(long id) |
Modifier and Type | Method and Description |
---|---|
static ArrayList<ProgramBlock> |
ProgramRecompiler.generatePartitialRuntimeProgram(Program rtprog,
ArrayList<StatementBlock> sbs) |
Modifier and Type | Method and Description |
---|---|
static void |
OptTreePlanChecker.checkProgramCorrectness(ProgramBlock pb,
StatementBlock sb,
Set<String> fnStack) |
static boolean |
ProgramRecompiler.containsAtLeastOneFunction(ProgramBlock pb) |
long |
OptTreePlanMappingRuntime.putMapping(ProgramBlock pb,
OptNode n) |
long |
OptTreePlanMappingAbstract.putProgMapping(StatementBlock sb,
ProgramBlock pb,
OptNode n) |
static boolean |
OptTreeConverter.rContainsMRJobInstruction(ProgramBlock pb,
boolean inclFunctions) |
static OptNode |
OptTreeConverter.rCreateAbstractOptNode(StatementBlock sb,
ProgramBlock pb,
LocalVariableMap vars,
boolean topLevel,
Set<String> memo) |
static OptNode |
OptTreeConverter.rCreateOptNode(ProgramBlock pb,
LocalVariableMap vars,
boolean topLevel,
boolean storeObjs) |
void |
OptTreePlanMappingAbstract.replaceMapping(ProgramBlock pb,
OptNode n) |
void |
OptTreePlanMappingRuntime.replaceMapping(ProgramBlock pb,
OptNode n) |
static void |
OptTreeConverter.replaceProgramBlock(List<ProgramBlock> pbs,
ProgramBlock pbOld,
ProgramBlock pbNew) |
static void |
OptTreeConverter.replaceProgramBlock(OptNode parent,
OptNode n,
ProgramBlock pbOld,
ProgramBlock pbNew,
boolean rtMap) |
static void |
ProgramRecompiler.rFindAndRecompileIndexingHOP(StatementBlock sb,
ProgramBlock pb,
String var,
ExecutionContext ec,
boolean force)
NOTE: if force is set, we set and recompile the respective indexing hops;
otherwise, we release the forced exec type and recompile again.
|
Modifier and Type | Method and Description |
---|---|
static void |
OptTreeConverter.replaceProgramBlock(List<ProgramBlock> pbs,
ProgramBlock pbOld,
ProgramBlock pbNew) |
Modifier and Type | Method and Description |
---|---|
Map<ProgramBlock,LineageDedupBlock> |
Lineage.getDedupBlocks() |
Modifier and Type | Method and Description |
---|---|
static LineageDedupBlock |
LineageDedupUtils.computeDedupBlock(ProgramBlock fpb,
ExecutionContext ec) |
static long |
LineageDedupUtils.computeNumPaths(ProgramBlock fpb,
ExecutionContext ec) |
void |
Lineage.createDedupPatch(ProgramBlock pb,
ExecutionContext ec) |
void |
Lineage.initializeDedupBlock(ProgramBlock pb,
ExecutionContext ec) |
static LineageDedupBlock |
LineageDedupUtils.initializeDedupBlock(ProgramBlock fpb,
ExecutionContext ec) |
static boolean |
LineageDedupUtils.isValidDedupBlock(ProgramBlock pb,
boolean inLoop) |
static void |
LineageDedupUtils.setNewDedupPatch(LineageDedupBlock ldb,
ProgramBlock fpb,
ExecutionContext ec) |
void |
Lineage.traceCurrentDedupPath(ProgramBlock pb,
ExecutionContext ec) |
void |
LineageDedupBlock.traceProgramBlock(ProgramBlock pb,
ExecutionContext ec,
Collection<Map.Entry<Long,LineageMap>> paths) |
Modifier and Type | Method and Description |
---|---|
static long |
LineageDedupUtils.numPathsInPBs(ArrayList<ProgramBlock> pbs,
ExecutionContext ec) |
void |
LineageDedupBlock.setNumPathsInPBs(ArrayList<ProgramBlock> pbs,
ExecutionContext ec) |
void |
LineageDedupBlock.traceProgramBlocks(ArrayList<ProgramBlock> pbs,
ExecutionContext ec) |
Modifier and Type | Method and Description |
---|---|
static ArrayList<ProgramBlock> |
ProgramConverter.rcreateDeepCopyProgramBlocks(ArrayList<ProgramBlock> childBlocks,
long pid,
int IDPrefix,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain,
boolean forceDeepCopy)
This recursively creates a deep copy of program blocks and transparently replaces filenames according to the
specified parallel worker in order to avoid conflicts between parworkers.
|
Modifier and Type | Method and Description |
---|---|
static ArrayList<ProgramBlock> |
ProgramConverter.rcreateDeepCopyProgramBlocks(ArrayList<ProgramBlock> childBlocks,
long pid,
int IDPrefix,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain,
boolean forceDeepCopy)
This recursively creates a deep copy of program blocks and transparently replaces filenames according to the
specified parallel worker in order to avoid conflicts between parworkers.
|
Modifier and Type | Method and Description |
---|---|
static String |
Explain.explain(ProgramBlock pb) |
Copyright © 2020 The Apache Software Foundation. All rights reserved.