> I looked into this a little bit and it turns out that we can't use a > bitset easily because we don't know at compile time how many bits we > need.
This was my concern as well, but I figured the other M5 gurus would have a elegant solution waiting in the wings... :) > There are a couple of options. We could use vector<bool> (we > have threads on this data structure in our mail archive) which often > has a bit packed specialization or boost::dynamic_bitset. > > In the interim, a vector<bool> sounds like a decent workaround. > I'm starting to feel like we should reconsider boost. There's > certainly a lot of crazy stuff in there, but there's also quite a bit > of useful stuff. We could require explicit agreement on which parts > of boost to use to avoid the really scary stuff. Are there boost licensing issues or are we jut talking about "M5 style" on how to use the boost code? I'm not too familiar w/all the pros/cons of Boost but I'd agree that if there is a faster implementation of some of the common code we have around, then we should definitely take a look. A question I would have to look into is how much faster would the dynamic bitset from Boost be to a self-managed vector<bool>. If it's negligible, we could avoid any complications of adding Boost. I would ask similar for the other objects you mentioned. -- - Korey _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
