This can be used to amortize the synchronization costs of edata_cache accesses.
This will save us some trouble down the line when we stop passing arena pointers everywhere; we won't have to pass around a base_t pointer either.