allocate all op attributes on block instead of a lot of malloc calls