53d52
< #include "mem/gems_common/Map.hh"
76,77d74
< m_requestProfileMap_ptr = new Map<string, int>;
<
109,110d105
<
< delete m_requestProfileMap_ptr;
358,359c353,357
< vector<string> requestProfileKeys = m_requestProfileMap_ptr->keys();
< sort(requestProfileKeys.begin(), requestProfileKeys.end());
---
> map<string, int>::const_iterator i = m_requestProfileMap.begin();
> map<string, int>::const_iterator end = m_requestProfileMap.end();
> for (; i != end; ++i) {
> const string &key = i->first;
> int count = i->second;
361,364c359
< for (int i = 0; i < requestProfileKeys.size(); i++) {
< int temp_int =
< m_requestProfileMap_ptr->lookup(requestProfileKeys[i]);
< double percent = (100.0 * double(temp_int)) / double(m_requests);
---
> double percent = (100.0 * double(count)) / double(m_requests);
366,367c361,362
< tokenize(items, requestProfileKeys[i], ':');
< vector<string>::iterator i = items.begin();
---
> tokenize(items, key, ':');
> vector<string>::iterator j = items.begin();
369,371c364,366
< for (; i != end; ++i)
< out << setw(10) << *i;
< out << setw(11) << temp_int;
---
> for (; j != end; ++i)
> out << setw(10) << *j;
> out << setw(11) << count;
483c478
< m_requestProfileMap_ptr->clear();
---
> m_requestProfileMap.clear();
558,562c553,555
< if (m_requestProfileMap_ptr->exist(requestStr)) {
< (m_requestProfileMap_ptr->lookup(requestStr))++;
< } else {
< m_requestProfileMap_ptr->add(requestStr, 1);
< }
---
> // if it doesn't exist, conveniently, it will be created with the
> // default value which is 0
> m_requestProfileMap[requestStr]++;
682,684c675,676
< if (!m_watch_address_list_ptr->exist(watch_address)) {
< m_watch_address_list_ptr->add(watch_address, 1);
< }
---
> // don't care about success or failure
> m_watch_address_set.insert(watch_address);
690,693c682
< if (m_watch_address_list_ptr->exist(addr))
< return true;
< else
< return false;
---
> return m_watch_address_set.count(addr) > 0;