at.dms.kjc.backendSupport
Class ProcessInputSliceNode

java.lang.Object
  extended by at.dms.kjc.backendSupport.ProcessInputSliceNode
Direct Known Subclasses:
CellProcessInputSliceNode

public class ProcessInputSliceNode
extends Object

Create kopi code for an InputSliceNode.

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  InputSliceNode inputNode
           
protected  CodeStoreHelper joiner_code
           
protected  ComputeNode location
           
protected  SchedulingPhase whichPhase
           
 
Constructor Summary
ProcessInputSliceNode(InputSliceNode inputNode, SchedulingPhase whichPhase, BackEndFactory backEndBits)
          Constructor
 
Method Summary
protected  void additionalInitProcessing()
           
protected  void additionalPreInitProcessing()
           
protected  void additionalPrimePumpProcessing()
           
protected  void additionalSteadyProcessing()
           
protected  void doit()
           
static CodeStoreHelper getJoinerCode(InputSliceNode joiner, BackEndFactory backEndBits)
          Get code for a joiner.
static void makeJoinerWork(InputSliceNode joiner, BackEndFactory backEndBits, CodeStoreHelper joiner_code)
          Make a work function for a joiner
 void processInputSliceNode()
          Create code for a InputSliceNode.
protected  void setJoinerCode()
           
protected  void setLocationAndCodeStore()
           
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.


inputNode

protected InputSliceNode inputNode

whichPhase

protected SchedulingPhase whichPhase

backEndBits

protected BackEndFactory backEndBits

joiner_code

protected CodeStoreHelper joiner_code

location

protected ComputeNode location

codeStore

protected ComputeCodeStore codeStore
Constructor Detail

ProcessInputSliceNode

public ProcessInputSliceNode(InputSliceNode inputNode,
                             SchedulingPhase whichPhase,
                             BackEndFactory backEndBits)
Constructor

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

processInputSliceNode

public void processInputSliceNode()
Create code for a InputSliceNode.


doit

protected void doit()

setJoinerCode

protected void setJoinerCode()

setLocationAndCodeStore

protected void setLocationAndCodeStore()

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()

makeJoinerWork

public static void makeJoinerWork(InputSliceNode joiner,
                                  BackEndFactory backEndBits,
                                  CodeStoreHelper joiner_code)
Make a work function for a joiner

Parameters:
joiner - the InputSliceNode that we are generating code for.
backEndBits - way to refer to other portions of backend
joiner_code - place to put code

getJoinerCode

public static CodeStoreHelper getJoinerCode(InputSliceNode joiner,
                                            BackEndFactory backEndBits)
Get code for a joiner. If code not yet made then makes it.

Parameters:
joiner -
backEndBits -
Returns: