SpaceTimeBackend.println("Adding DRAM Command to " + parent + " " + buffer + " " + cacheLines);
    public void addDRAMCommand(boolean read, boolean init, 			       int bytes, OffChipBuffer buffer)     {	parent.setComputes();	String functName = "raw_streaming_dram_request_" +	    (read ? "read" : "write") + "_presynched";	//the args for the streaming dram command		//cachelines that are needed	assert bytes % RawChip.cacheLineBytes == 0 :	    "transfer size for dram must be a multiple of cache line size";	int cacheLines = bytes / RawChip.cacheLineBytes;	JExpression[] args = {new JIntLiteral(1),			      new JIntLiteral(cacheLines)};	//the dram command	JMethodCallExpression call = 	    new JMethodCallExpression(null, functName, args);		//send over the address	JFieldAccessExpression dynNetSend = 	    new JFieldAccessExpression(null, new JThisExpression(null),				       Util.CSTOINTVAR);		JFieldAccessExpression bufAccess = 	    new JFieldAccessExpression(null, new JThisExpression(null),				       buffer.getIdent());		JAssignmentExpression assExp = 	    new JAssignmentExpression(null, dynNetSend, bufAccess);	//add the statements to the appropriate stage	if (init) {	    initBlock.addStatement(new JExpressionStatement(null, call, null));	    initBlock.addStatement(new JExpressionStatement(null, assExp, null));	}	else {	    steadyLoop.addStatement(steadyIndex ++, 				    new JExpressionStatement(null, call, null));	    steadyLoop.addStatement(steadyIndex ++, 				    new JExpressionStatement(null, assExp, null));	}    }