bufferVarInit[0] = makePopBuffer(); bufferVar[0] = bufferVarInit[0];
bufferVar[0] = makePopBuffer();
    private void createVariables()     {	int myConsume;		/*	if (filter instanceof SIRTwoStageFilter &&	    StrToRStream.getMult(node, true) > 0) 	    myConsume = ((SIRTwoStageFilter)filter).getInitPop() + 		(StrToRStream.getMult(node, true) - 1) * filter.getPopInt();		else*/ 		myConsume = StrToRStream.getMult(node, true) * filter.getPopInt();	peekBufferSize = getLastProducedInit() - myConsume;		assert peekBufferSize >= (filter.getPeekInt() - filter.getPopInt()) &&	    peekBufferSize >= 0 : peekBufferSize + " " + (filter.getPeekInt() - filter.getPopInt());	//do it for init, then do it for steady	bufferVarInit[0] = makePopBuffer();	bufferVar[0] = bufferVarInit[0];	popCounterVar = new JVariableDefinition(null,						0,						CStdType.Integer,						POPCOUNTERNAME + myUniqueID,						new JIntLiteral(-1));		//for the steady-state, set the push buffer to initally be	//peek buffer size - 1 of the downstream filter	//(-1 because we are pre-incrementing) 	//so the data will be placed in the pop buffer	//after the positions where we will restore the peek buffer 	if (filter.getPushInt() > 0) {	    assert node.ways == 1;	    assert node.edges[0] != null;	    	    FusionState next = getFusionState(node.edges[0]);	    	    pushCounterVar = new JVariableDefinition(null,						     0,						     CStdType.Integer,						     PUSHCOUNTERNAME + myUniqueID,						     new JIntLiteral(next.peekBufferSize - 1));	    	    pushCounterVarInit = new JVariableDefinition(null,							 0,							 CStdType.Integer,							 PUSHCOUNTERNAME + myUniqueID,							 new JIntLiteral(-1));	    	}		JExpression[] dims = { new JIntLiteral(null, peekBufferSize)};	    }