: Might be better to just move these entries around instead of creating new ones every time the position changes due to an instruction issuing. Not sure std::list supports this.
in theory you only need to check an instruction that has executed however, there isn't a good way in the pipeline at the moment to check all instructions that will execute before the store writes back. Thus, like the implementation that came before it, we're overly conservative.
Even if this were true, does it matter? Shouldn't the derived class indicate this? This only matters if we would ever choose to delete a "RefCounted *" which I doubt we'd ever do. We don't ever delete a "void *".
Member TEST (StatsGroupDeathTest, DISABLED_AddCycle)
Test that a group cannot be added in a cycle.
Member TEST (StatsInfoTest, DISABLED_NameOldStyleTwice)
Test the behavior when set name is called twice on the same old-style info. Should it be allowed? If so, the old name should be removed from the name map.