Arena::Amalloc aligns the requested size, so that the the returned pointer is always nicely aligned. The problem is that it aligns to 2*BytesPerWord, which means that on 64bit platforms it is aligning to 16 bytes, which seems wasteful. Do we actually need 16 byte alignment somewhere on 64bit platforms? Or is this 32bit code that didn't get updated for 64bit support. Dredging through old repositories, I think it might be the latter.