at.dms.kjc.backendSupport
Class ProcessOutputSliceNode

java.lang.Object
  extended by at.dms.kjc.backendSupport.ProcessOutputSliceNode
Direct Known Subclasses:
CellProcessOutputSliceNode

public class ProcessOutputSliceNode
extends Object

Create kopi code for an OutputSliceNode.

Author:
dimock

Field Summary
protected  BackEndFactory backEndBits
           
protected static Map<SliceNode,Boolean> basicCodeWritten
          set of filters for which we have written basic code.
protected  ComputeCodeStore codeStore
           
protected  ComputeNode location
           
protected  OutputSliceNode outputNode
           
protected  CodeStoreHelper splitter_code
           
protected  SchedulingPhase whichPhase
           
 
Constructor Summary
ProcessOutputSliceNode(OutputSliceNode outputNode, SchedulingPhase whichPhase, BackEndFactory backEndBits)
          Constructor
 
Method Summary
protected  void additionalInitProcessing()
           
protected  void additionalPreInitProcessing()
           
protected  void additionalPrimePumpProcessing()
           
protected  void additionalSteadyProcessing()
           
protected  void doit()
           
static CodeStoreHelper getSplitterCode(OutputSliceNode splitter, BackEndFactory backEndBits)
          Get code for a splitter.
 void processOutputSliceNode()
          Create code for a OutputSliceNode.
protected  void setLocationAndCodeStore()
           
protected  void setSplitterCode()
           
protected  void standardInitProcessing()
           
protected  void standardPreInitProcessing()
           
protected  void standardPrimePumpProcessing()
           
protected  void standardSteadyProcessing()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

basicCodeWritten

protected static Map<SliceNode,Boolean> basicCodeWritten
set of filters for which we have written basic code.


outputNode

protected OutputSliceNode outputNode

whichPhase

protected SchedulingPhase whichPhase

backEndBits

protected BackEndFactory backEndBits

splitter_code

protected CodeStoreHelper splitter_code

location

protected ComputeNode location

codeStore

protected ComputeCodeStore codeStore
Constructor Detail

ProcessOutputSliceNode

public ProcessOutputSliceNode(OutputSliceNode outputNode,
                              SchedulingPhase whichPhase,
                              BackEndFactory backEndBits)
Constructor

Parameters:
outputNode - the OutputSliceNode that may need code generated.
whichPhase - a scheduling phase SchedulingPhase
backEndBits - a BackEndFactory to access layout, etc.
Method Detail

processOutputSliceNode

public void processOutputSliceNode()
Create code for a OutputSliceNode.


setLocationAndCodeStore

protected void setLocationAndCodeStore()

doit

protected void doit()

setSplitterCode

protected void setSplitterCode()

standardPreInitProcessing

protected void standardPreInitProcessing()

additionalPreInitProcessing

protected void additionalPreInitProcessing()

standardInitProcessing

protected void standardInitProcessing()

additionalInitProcessing

protected void additionalInitProcessing()

standardPrimePumpProcessing

protected void standardPrimePumpProcessing()

additionalPrimePumpProcessing

protected void additionalPrimePumpProcessing()

standardSteadyProcessing

protected void standardSteadyProcessing()

additionalSteadyProcessing

protected void additionalSteadyProcessing()

getSplitterCode

public static CodeStoreHelper getSplitterCode(OutputSliceNode splitter,
                                              BackEndFactory backEndBits)
Get code for a splitter. If code not yet made, then makes it.

Parameters:
splitter -
backEndBits -
Returns: