Daniel Carvalho has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18728

Change subject: mem-ruby: Replace string parameter in MultiBitSelBloomFilter
......................................................................

mem-ruby: Replace string parameter in MultiBitSelBloomFilter

Replace string parameter from MultiBitSelBloomFilter's constructor
by their tokenized counterparts.

Change-Id: I2e3db109dc4814fa0e9c13259f1136a6c4083092
Signed-off-by: Daniel R. Carvalho <[email protected]>
---
M src/mem/ruby/filters/MultiBitSelBloomFilter.cc
M src/mem/ruby/filters/MultiBitSelBloomFilter.hh
2 files changed, 10 insertions(+), 27 deletions(-)



diff --git a/src/mem/ruby/filters/MultiBitSelBloomFilter.cc b/src/mem/ruby/filters/MultiBitSelBloomFilter.cc
index e2ca4d0..cee28db 100644
--- a/src/mem/ruby/filters/MultiBitSelBloomFilter.cc
+++ b/src/mem/ruby/filters/MultiBitSelBloomFilter.cc
@@ -32,35 +32,17 @@

 #include "base/intmath.hh"
 #include "base/logging.hh"
-#include "base/str.hh"

 using namespace std;

-MultiBitSelBloomFilter::MultiBitSelBloomFilter(string str)
+MultiBitSelBloomFilter::MultiBitSelBloomFilter(std::size_t filter_size,
+    int num_hashes, int skip_bits, bool is_parallel)
+    : m_filter_size(filter_size), m_num_hashes(num_hashes),
+      m_filter_size_bits(floorLog2(m_filter_size)), m_skip_bits(skip_bits),
+      m_par_filter_size(m_filter_size / m_num_hashes),
+      m_par_filter_size_bits(floorLog2(m_par_filter_size)),
+      isParallel(is_parallel)
 {
-    vector<string> items;
-    tokenize(items, str, '_');
-    assert(items.size() == 4);
-
- // head contains filter size, tail contains bit offset from block number
-    m_filter_size = atoi(items[0].c_str());
-    m_num_hashes = atoi(items[1].c_str());
-    m_skip_bits = atoi(items[2].c_str());
-
-    if (items[3] == "Regular") {
-        isParallel = false;
-    } else if (items[3] == "Parallel") {
-        isParallel = true;
-    } else {
-        panic("ERROR: Incorrect config string for MultiBitSel Bloom! :%s",
-              str);
-    }
-
-    m_filter_size_bits = floorLog2(m_filter_size);
-
-    m_par_filter_size = m_filter_size / m_num_hashes;
-    m_par_filter_size_bits = floorLog2(m_par_filter_size);
-
     m_filter.resize(m_filter_size);
     clear();
 }
diff --git a/src/mem/ruby/filters/MultiBitSelBloomFilter.hh b/src/mem/ruby/filters/MultiBitSelBloomFilter.hh
index b4fac06..23d970a 100644
--- a/src/mem/ruby/filters/MultiBitSelBloomFilter.hh
+++ b/src/mem/ruby/filters/MultiBitSelBloomFilter.hh
@@ -30,7 +30,6 @@
 #define __MEM_RUBY_FILTERS_MULTIBITSELBLOOMFILTER_HH__

 #include <iostream>
-#include <string>
 #include <vector>

 #include "mem/ruby/common/Address.hh"
@@ -40,7 +39,8 @@
 class MultiBitSelBloomFilter : public AbstractBloomFilter
 {
   public:
-    MultiBitSelBloomFilter(std::string config);
+    MultiBitSelBloomFilter(std::size_t filter_size, int num_hashes,
+                           int skip_bits, bool is_parallel);
     ~MultiBitSelBloomFilter();

     void clear();
@@ -75,6 +75,7 @@
     int m_filter_size;
     int m_num_hashes;
     int m_filter_size_bits;
+    // Bit offset from block number
     int m_skip_bits;

     int m_par_filter_size;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18728
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I2e3db109dc4814fa0e9c13259f1136a6c4083092
Gerrit-Change-Number: 18728
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Carvalho <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to