|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.backendSupport.Channel
public class Channel
A Buffer is an implementation of an Edge in a back end. It refers to nodes in a slice graph like an edge does, but a Buffer also contains code that a back end can emit to pass data between nodes in the slice graph.
Field Summary | |
---|---|
protected static HashMap<Edge,Channel> |
bufferStore
the store for all Buffers, indexed by edge. |
protected int |
extraCount
set to 1 for double bufferring or higher if even more extra buffers desired |
protected String |
ident
unique ident for the buffer |
protected int |
rotationLength
the rotation length of this buffer for software pipelining Includes any length from extraLength field. |
protected Edge |
theEdge
Technical note: a Buffer in a backend implements an Edge in a slice graph This data structure uses an Edge to store source, destination, and type information. |
protected int |
unique_id
used to make sure ident is unique |
Constructor Summary | |
---|---|
protected |
Channel(Edge edge)
Create a channel given an edge. |
protected |
Channel(SliceNode src,
SliceNode dst)
Create a buffer given src and dst SliceNode's |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Edge theEdge
protected String ident
protected int unique_id
protected static HashMap<Edge,Channel> bufferStore
protected int rotationLength
protected int extraCount
Constructor Detail |
---|
protected Channel(Edge edge)
edge
- protected Channel(SliceNode src, SliceNode dst)
src
- dst
- Method Detail |
---|
public static Channel findChannel(Edge edge)
edge
- Edge that the channel should implement
public static void addChannel(Channel c)
c
- Channel to add to our collection of channels.public static void reset()
public static void printBuffers()
public String getIdent()
public static Collection<Channel> getBuffers()
public CType getType()
public int getExtraCount()
public void setExtralength(int extracount)
public SliceNode getSource()
public SliceNode getDest()
public static void setRotationLengths(BasicSpaceTimeSchedule sched)
sched
- BasicSpaceTimeSchedule gives primePump multiplicities.public String popMethodName()
public JMethodDeclaration popMethod()
public String popManyMethodName()
public JMethodDeclaration popManyMethod()
public String assignFromPopMethodName()
public JMethodDeclaration assignFromPopMethod()
public String peekMethodName()
public JMethodDeclaration peekMethod()
public String assignFromPeekMethodName()
public JMethodDeclaration assignFromPeekMethod()
public String pushMethodName()
public JMethodDeclaration pushMethod()
public List<JStatement> beginInitRead()
public List<JStatement> postPreworkInitRead()
public List<JStatement> endInitRead()
public List<JStatement> beginInitWrite()
public List<JStatement> endInitWrite()
public List<JStatement> beginSteadyRead()
public List<JStatement> endSteadyRead()
public List<JStatement> beginSteadyWrite()
public List<JStatement> endSteadyWrite()
public List<JStatement> topOfWorkSteadyRead()
public List<JStatement> topOfWorkSteadyWrite()
public List<JStatement> dataDeclsH()
public List<JStatement> dataDecls()
public List<JStatement> readDeclsExtern()
public List<JStatement> readDecls()
public List<JStatement> writeDeclsExtern()
public List<JStatement> writeDecls()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |