summaryrefslogtreecommitdiff
path: root/src/mem/ruby/filters/BulkBloomFilter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/filters/BulkBloomFilter.cc')
-rw-r--r--src/mem/ruby/filters/BulkBloomFilter.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/mem/ruby/filters/BulkBloomFilter.cc b/src/mem/ruby/filters/BulkBloomFilter.cc
index 47cc386cd..a03cba37b 100644
--- a/src/mem/ruby/filters/BulkBloomFilter.cc
+++ b/src/mem/ruby/filters/BulkBloomFilter.cc
@@ -26,6 +26,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "base/intmath.hh"
+#include "base/str.hh"
#include "mem/gems_common/Map.hh"
#include "mem/ruby/common/Address.hh"
#include "mem/ruby/filters/BulkBloomFilter.hh"
@@ -34,11 +36,16 @@ using namespace std;
BulkBloomFilter::BulkBloomFilter(string str)
{
- string tail(str);
- string head = string_split(tail, '_');
+ string head, tail;
+
+#ifndef NDEBUG
+ bool success =
+#endif
+ split_first(str, head, tail, '_');
+ assert(success);
m_filter_size = atoi(head.c_str());
- m_filter_size_bits = log_int(m_filter_size);
+ m_filter_size_bits = floorLog2(m_filter_size);
// split the filter bits in half, c0 and c1
m_sector_bits = m_filter_size_bits - 1;