TypedAllocations instead of maintaining a native type and registers
would be much better in the long run. Slots can have stack positions and
registers assigned to them without issue.
Using it is is less buggy. I do not need to copy registers or stack positions. So it is much easier to use.
So I would say the following. Basically
The cache state takes care of what the SMT tread did before. It has push, pop, and stack position information.