if(type instanceof ArrayType){
ArrayType atype = (ArrayType) type;
Local size = m_bcl.top().local(IntType.v());
m_bcl.top().assign(size, IntConstant.v(Constants.ArrayOffsetSize));
Local element_size = m_bcl.top().local(IntType.v());
OpenCLType ocl_type = new OpenCLType(atype.baseType);
if(atype.numDimensions == 1)
m_bcl.top().assign(element_size, IntConstant.v(ocl_type.getSize()));
else
m_bcl.top().assign(element_size, IntConstant.v(4));
Local object_to_write_from = m_bcl.top().cast(type, m_param0);
Local length = m_bcl.top().lengthof(object_to_write_from);
m_bcl.top().mult(element_size, length);