at.dms.kjc.spacetime
Class Linear

java.lang.Object
  extended by at.dms.kjc.spacetime.RawExecutionCode
      extended by at.dms.kjc.spacetime.BufferedCommunication
          extended by at.dms.kjc.spacetime.Linear
All Implemented Interfaces:
Constants

public class Linear
extends BufferedCommunication
implements Constants


Field Summary
 
Fields inherited from class at.dms.kjc.spacetime.RawExecutionCode
ARRAY_COPY, ARRAY_INDEX, arrayReceiveMethod, exeIndex, exeIndex1, filterInfo, gdnInput, gdnOutput, gdnReceiveMethod, gdnSendMethod, generatedVariables, initSchedFunction, initStage, INLINE_WORK, layout, primePumpMethod, primePumpStage, rateMatchSendMethod, recvBuffer, recvBufferBits, recvBufferIndex, recvBufferSize, recvIndex, sendBuffer, sendBufferIndex, simpleIndex, staticReceiveMethod, staticSendMethod, steadySchedFunction, steadyStage, structReceiveMethodPrefix, structReceivePrefix, structReceivePrefixDynamic, structReceivePrefixStatic, tile, uniqueID, workCounter
 
Fields inherited from interface at.dms.kjc.Constants
CMP_VERSION, JAV_CLASS, JAV_CLONE, JAV_CLONEABLE, JAV_CONSTRUCTOR, JAV_ERROR, JAV_EXCEPTION, JAV_INIT, JAV_LENGTH, JAV_NAME_SEPARATOR, JAV_OBJECT, JAV_OUTER_THIS, JAV_RUNTIME, JAV_RUNTIME_EXCEPTION, JAV_STATIC_INIT, JAV_STRING, JAV_STRINGBUFFER, JAV_THIS, JAV_THROWABLE, OPE_BAND, OPE_BNOT, OPE_BOR, OPE_BSR, OPE_BXOR, OPE_EQ, OPE_GE, OPE_GT, OPE_LE, OPE_LNOT, OPE_LT, OPE_MINUS, OPE_NE, OPE_PERCENT, OPE_PLUS, OPE_POSTDEC, OPE_POSTINC, OPE_PREDEC, OPE_PREINC, OPE_SIMPLE, OPE_SL, OPE_SLASH, OPE_SR, OPE_STAR, TID_ARRAY, TID_BIT, TID_BOOLEAN, TID_BYTE, TID_CHAR, TID_CLASS, TID_DOUBLE, TID_FLOAT, TID_INT, TID_LONG, TID_SHORT, TID_VECTOR, TID_VOID, VECTOR_EMPTY
 
Fields inherited from interface at.dms.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INLINE, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, ATT_CODE, ATT_CONSTANTVALUE, ATT_DEPRECATED, ATT_EXCEPTIONS, ATT_GENERIC, ATT_INNERCLASSES, ATT_LINENUMBERTABLE, ATT_LOCALVARIABLETABLE, ATT_SOURCEFILE, ATT_SYNTHETIC, CST_CLASS, CST_DOUBLE, CST_FIELD, CST_FLOAT, CST_INTEGER, CST_INTERFACEMETHOD, CST_LONG, CST_METHOD, CST_NAMEANDTYPE, CST_STRING, CST_UTF8, ENV_DEBUG_MODE, ENV_USE_CACHE, JAVA_MAGIC, JAVA_MAJOR, JAVA_MINOR, MAX_CODE_PER_METHOD, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, POO_ASCII_CONSTANT, POO_CLASS_CONSTANT, POO_DOUBLE_CONSTANT, POO_FLOAT_CONSTANT, POO_INTEGER_CONSTANT, POO_LONG_CONSTANT, POO_NAT_CONSTANT, POO_REF_CONSTANT, POO_STRING_CONSTANT, TYP_ADDRESS, TYP_DOUBLE, TYP_FLOAT, TYP_INT, TYP_LONG, TYP_REFERENCE, TYP_VOID
 
Constructor Summary
Linear(RawTile tile, FilterInfo filterInfo)
           
 
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.
static int getMult(int num)
           
 JBlock getSteadyBlock()
          Return the block that implements this filter in the steady state.
 JBlock getSteadyBlockOld()
           
 JFieldDeclaration[] getVarDecls()
          Return an array of JFieldDecl's that need to be added to the fields of this tile becuase they are generated by this pass.
protected  JStatement getWorkFunctionCall(FilterContent filter)
          Return the code that will call the work work function once.
 
Methods inherited from class at.dms.kjc.spacetime.BufferedCommunication
getPrimePumpMethod
 
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

Linear

public Linear(RawTile tile,
              FilterInfo filterInfo)
Method Detail

getSteadyBlock

public JBlock getSteadyBlock()
Description copied from class: BufferedCommunication
Return the block that implements this filter in the steady state. It may be a functino call to the work function or the inlined work function itself.

Overrides:
getSteadyBlock in class BufferedCommunication
Returns:
The steady-state code for one complete steady-state firing of the filter.
See Also:
RawExecutionCode.INLINE_WORK

getMult

public static int getMult(int num)

getInitStageMethod

public JMethodDeclaration getInitStageMethod()
Description copied from class: BufferedCommunication
Calculate and return the method that implements the init stage computation for this filter. It should be called only once in the generated code.

This does not include the call to the init function of the filter. That is done in ComputeCodeStore.addInitFunctionCall(at.dms.kjc.JMethodDeclaration).

Overrides:
getInitStageMethod in class BufferedCommunication
Returns:
The method that implements the init stage for this filter.

getHelperMethods

public JMethodDeclaration[] getHelperMethods()
Description copied from class: BufferedCommunication
Return an array of methods for any helper methods that we create or that were present in this filter. They need to be added to the methods of the entire tile.

Overrides:
getHelperMethods in class BufferedCommunication
Returns:
helper methods that need to be placed in the tile's code.

getVarDecls

public JFieldDeclaration[] getVarDecls()
Description copied from class: BufferedCommunication
Return an array of JFieldDecl's that need to be added to the fields of this tile becuase they are generated by this pass.

Overrides:
getVarDecls in class BufferedCommunication
Returns:
fields that are created by this pass and used in its generated code.

getWorkFunctionCall

protected JStatement getWorkFunctionCall(FilterContent filter)
Description copied from class: BufferedCommunication
Return the code that will call the work work function once. It will either be the entire function inlined or a function call.

Overrides:
getWorkFunctionCall in class BufferedCommunication
Parameters:
filter - The filter content for this filter.
Returns:
The code to execute the work function once.
See Also:
RawExecutionCode.INLINE_WORK

getSteadyBlockOld

public JBlock getSteadyBlockOld()