diff options
author | Nathan Binkert <nate@binkert.org> | 2010-06-10 23:17:07 -0700 |
---|---|---|
committer | Nathan Binkert <nate@binkert.org> | 2010-06-10 23:17:07 -0700 |
commit | 006818aeea6176c4500c5f7414e9f2a822c77062 (patch) | |
tree | 74adbd6cc14951943bd6eafc4aba2fb98be7a526 /src/mem/ruby/profiler/AddressProfiler.cc | |
parent | bc87fa30d72df7db6265be50b2c39dc218076f9f (diff) | |
download | gem5-006818aeea6176c4500c5f7414e9f2a822c77062.tar.xz |
ruby: get rid of Vector and use STL
add a couple of helper functions to base for deleteing all pointers in
a container and outputting containers to a stream
Diffstat (limited to 'src/mem/ruby/profiler/AddressProfiler.cc')
-rw-r--r-- | src/mem/ruby/profiler/AddressProfiler.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/mem/ruby/profiler/AddressProfiler.cc b/src/mem/ruby/profiler/AddressProfiler.cc index d11e74b01..2c099a914 100644 --- a/src/mem/ruby/profiler/AddressProfiler.cc +++ b/src/mem/ruby/profiler/AddressProfiler.cc @@ -26,6 +26,9 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include <vector> + +#include "base/stl_helpers.hh" #include "mem/gems_common/Map.hh" #include "mem/gems_common/PrioHeap.hh" #include "mem/protocol/CacheMsg.hh" @@ -37,6 +40,8 @@ using namespace std; typedef AddressProfiler::AddressMap AddressMap; +using m5::stl_helpers::operator<<; + // Helper functions AccessTraceForAddress& lookupTraceForAddress(const Address& addr, AddressMap* record_map) @@ -55,7 +60,7 @@ printSorted(ostream& out, int num_of_sequencers, const AddressMap* record_map, uint64 misses = 0; PrioHeap<AccessTraceForAddress*> heap; - Vector<Address> keys = record_map->keys(); + std::vector<Address> keys = record_map->keys(); for (int i = 0; i < keys.size(); i++) { AccessTraceForAddress* record = &(record_map->lookup(keys[i])); misses += record->getTotal(); @@ -77,10 +82,10 @@ printSorted(ostream& out, int num_of_sequencers, const AddressMap* record_map, Histogram all_records_log(-1); // Allows us to track how many lines where touched by n processors - Vector<int64> m_touched_vec; - Vector<int64> m_touched_weighted_vec; - m_touched_vec.setSize(num_of_sequencers+1); - m_touched_weighted_vec.setSize(num_of_sequencers+1); + std::vector<int64> m_touched_vec; + std::vector<int64> m_touched_weighted_vec; + m_touched_vec.resize(num_of_sequencers+1); + m_touched_weighted_vec.resize(num_of_sequencers+1); for (int i = 0; i < m_touched_vec.size(); i++) { m_touched_vec[i] = 0; m_touched_weighted_vec[i] = 0; |