|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.spacetime.RawExecutionCode
at.dms.kjc.spacetime.DirectCommunication
public class DirectCommunication
If we can, this class will generate filter code that does not use a
peek buffer, so just read the values from the static network and write them to the
static network. It will only work if the code does not peek and if it has all pops
before pushes.
It adheres to the interface defined in
RawExecutionCode
.
Field Summary |
---|
Constructor Summary | |
---|---|
DirectCommunication(RawTile tile,
FilterInfo filterInfo,
Layout layout)
Create a new object that is ready to convert filterInfo's communication into direct communication over Raw's network. |
Method Summary | |
---|---|
JMethodDeclaration[] |
getHelperMethods()
Return an array of methods for any helper methods that we create or that were present in this filter. |
JMethodDeclaration |
getInitStageMethod()
Calculate and return the method that implements the init stage computation for this filter. |
JMethodDeclaration |
getPrimePumpMethod()
Calculate and return the method that will implement one execution of this filter in the primepump stage. |
JBlock |
getSteadyBlock()
Return the block to call the work function in the steady state |
JFieldDeclaration[] |
getVarDecls()
Return the variables that are generated by this pass and that need to be added to the fields of the tile. |
static boolean |
testDC(FilterInfo fi)
Test if we can generate direct communication code for this filter meaning there are no peeks, that all pops come before all pushes, its not a two stage filter, and it does not have items remaining on its inputs buffer after the init stage. |
Methods inherited from class at.dms.kjc.spacetime.RawExecutionCode |
---|
boundToSwitchStmt, constToSwitchStmt, gdnCacheAlign, gdnDisregardIncoming, gdnDummyOutgoing, gdnReceive, getUniqueID, sendRatesToSwitch, setDynMsgHeader, setupGDNStore |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DirectCommunication(RawTile tile, FilterInfo filterInfo, Layout layout)
tile
- The tile filterInfo is mapped to.filterInfo
- The filter to convert.layout
- The layout of the application.Method Detail |
---|
public static boolean testDC(FilterInfo fi)
fi
- The filter.
public JFieldDeclaration[] getVarDecls()
getVarDecls
in class RawExecutionCode
public JMethodDeclaration getPrimePumpMethod()
getPrimePumpMethod
in class RawExecutionCode
public JMethodDeclaration getInitStageMethod()
This does not include the call to the init function of the filter.
That is done in ComputeCodeStore.addInitFunctionCall(at.dms.kjc.JMethodDeclaration)
.
getInitStageMethod
in class RawExecutionCode
public JMethodDeclaration[] getHelperMethods()
getHelperMethods
in class RawExecutionCode
public JBlock getSteadyBlock()
getSteadyBlock
in class RawExecutionCode
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |