Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Also get rid of the union because its sole purpose (assign one field, read another) is undefined behavior in C++. We define MemoryFlags as a single machine word type instead of using a struct of bitfields for the reasons given in the code comment.