# Node ID ad4de3019da1eb0071d4b6da1bc807bac17665ec # Parent b6d5bc19a4f14ea31685b8c0f173f6a49b26dcc7 diff --git a/src/mem/ruby/common/Set.hh b/src/mem/ruby/common/Set.hh --- a/src/mem/ruby/common/Set.hh +++ b/src/mem/ruby/common/Set.hh @@ -86,7 +86,7 @@ void addSet(const Set& obj) { - assert(m_nSize == obj.m_nSize); + m_nSize = std::max(m_nSize, obj.m_nSize); bits |= obj.bits; } @@ -105,7 +105,6 @@ void removeSet(const Set& obj) { - assert(m_nSize == obj.m_nSize); bits &= (~obj.bits); } @@ -122,7 +121,6 @@ bool isEqual(const Set& obj) const { - assert(m_nSize == obj.m_nSize); return bits == obj.bits; } @@ -130,8 +128,7 @@ Set OR(const Set& obj) const { - assert(m_nSize == obj.m_nSize); - Set r(m_nSize); + Set r(std::max(m_nSize, obj.m_nSize)); r.bits = bits | obj.bits; return r; }; @@ -140,8 +137,7 @@ Set AND(const Set& obj) const { - assert(m_nSize == obj.m_nSize); - Set r(m_nSize); + Set r(std::max(m_nSize, obj.m_nSize)); r.bits = bits & obj.bits; return r; } @@ -161,7 +157,6 @@ bool isSuperset(const Set& test) const { - assert(m_nSize == test.m_nSize); std::bitset r = bits | test.bits; return (r == bits); }