diff options
Diffstat (limited to 'src/mem/ruby/profiler')
-rw-r--r-- | src/mem/ruby/profiler/AccessTraceForAddress.hh | 6 | ||||
-rw-r--r-- | src/mem/ruby/profiler/AddressProfiler.cc | 15 | ||||
-rw-r--r-- | src/mem/ruby/profiler/AddressProfiler.hh | 12 | ||||
-rw-r--r-- | src/mem/ruby/profiler/StoreTrace.cc | 2 | ||||
-rw-r--r-- | src/mem/ruby/profiler/StoreTrace.hh | 4 |
5 files changed, 19 insertions, 20 deletions
diff --git a/src/mem/ruby/profiler/AccessTraceForAddress.hh b/src/mem/ruby/profiler/AccessTraceForAddress.hh index acd03a3fa..af42489bc 100644 --- a/src/mem/ruby/profiler/AccessTraceForAddress.hh +++ b/src/mem/ruby/profiler/AccessTraceForAddress.hh @@ -47,13 +47,13 @@ class AccessTraceForAddress { } ~AccessTraceForAddress(); - void setAddress(const Address& addr) { m_addr = addr; } + void setAddress(Addr addr) { m_addr = addr; } void update(RubyRequestType type, RubyAccessMode access_mode, NodeID cpu, bool sharing_miss); int getTotal() const; int getSharing() const { return m_sharing; } int getTouchedBy() const { return m_touched_by.count(); } - const Address& getAddress() const { return m_addr; } + Addr getAddress() const { return m_addr; } void addSample(int value); void print(std::ostream& out) const; @@ -66,7 +66,7 @@ class AccessTraceForAddress } private: - Address m_addr; + Addr m_addr; uint64 m_loads; uint64 m_stores; uint64 m_atomics; diff --git a/src/mem/ruby/profiler/AddressProfiler.cc b/src/mem/ruby/profiler/AddressProfiler.cc index a2e41ee76..0e7ea7e36 100644 --- a/src/mem/ruby/profiler/AddressProfiler.cc +++ b/src/mem/ruby/profiler/AddressProfiler.cc @@ -40,7 +40,7 @@ using m5::stl_helpers::operator<<; // Helper functions AccessTraceForAddress& -lookupTraceForAddress(const Address& addr, AddressMap& record_map) +lookupTraceForAddress(Addr addr, AddressMap& record_map) { // we create a static default object here that is used to insert // since the insertion will create a copy of the object in the @@ -244,7 +244,7 @@ AddressProfiler::clearStats() } void -AddressProfiler::profileGetX(const Address& datablock, const Address& PC, +AddressProfiler::profileGetX(Addr datablock, Addr PC, const Set& owner, const Set& sharers, NodeID requestor) { @@ -262,7 +262,7 @@ AddressProfiler::profileGetX(const Address& datablock, const Address& PC, } void -AddressProfiler::profileGetS(const Address& datablock, const Address& PC, +AddressProfiler::profileGetS(Addr datablock, Addr PC, const Set& owner, const Set& sharers, NodeID requestor) { @@ -279,7 +279,7 @@ AddressProfiler::profileGetS(const Address& datablock, const Address& PC, } void -AddressProfiler::addTraceSample(Address data_addr, Address pc_addr, +AddressProfiler::addTraceSample(Addr data_addr, Addr pc_addr, RubyRequestType type, RubyAccessMode access_mode, NodeID id, bool sharing_miss) @@ -290,14 +290,14 @@ AddressProfiler::addTraceSample(Address data_addr, Address pc_addr, } // record data address trace info - data_addr.makeLineAddress(); + data_addr = makeLineAddress(data_addr); lookupTraceForAddress(data_addr, m_dataAccessTrace). update(type, access_mode, id, sharing_miss); // record macro data address trace info // 6 for datablock, 4 to make it 16x more coarse - Address macro_addr(data_addr.maskLowOrderBits(10)); + Addr macro_addr = maskLowOrderBits(data_addr, 10); lookupTraceForAddress(macro_addr, m_macroBlockAccessTrace). update(type, access_mode, id, sharing_miss); @@ -316,8 +316,7 @@ AddressProfiler::addTraceSample(Address data_addr, Address pc_addr, } void -AddressProfiler::profileRetry(const Address& data_addr, AccessType type, - int count) +AddressProfiler::profileRetry(Addr data_addr, AccessType type, int count) { m_retryProfileHisto.add(count); if (type == AccessType_Read) { diff --git a/src/mem/ruby/profiler/AddressProfiler.hh b/src/mem/ruby/profiler/AddressProfiler.hh index ff9b39e81..39544c0a2 100644 --- a/src/mem/ruby/profiler/AddressProfiler.hh +++ b/src/mem/ruby/profiler/AddressProfiler.hh @@ -44,7 +44,7 @@ class Set; class AddressProfiler { public: - typedef m5::hash_map<Address, AccessTraceForAddress> AddressMap; + typedef m5::hash_map<Addr, AccessTraceForAddress> AddressMap; public: AddressProfiler(int num_of_sequencers, Profiler *profiler); @@ -53,13 +53,13 @@ class AddressProfiler void printStats(std::ostream& out) const; void clearStats(); - void addTraceSample(Address data_addr, Address pc_addr, + void addTraceSample(Addr data_addr, Addr pc_addr, RubyRequestType type, RubyAccessMode access_mode, NodeID id, bool sharing_miss); - void profileRetry(const Address& data_addr, AccessType type, int count); - void profileGetX(const Address& datablock, const Address& PC, + void profileRetry(Addr data_addr, AccessType type, int count); + void profileGetX(Addr datablock, Addr PC, const Set& owner, const Set& sharers, NodeID requestor); - void profileGetS(const Address& datablock, const Address& PC, + void profileGetS(Addr datablock, Addr PC, const Set& owner, const Set& sharers, NodeID requestor); void print(std::ostream& out) const; @@ -96,7 +96,7 @@ class AddressProfiler int m_num_of_sequencers; }; -AccessTraceForAddress& lookupTraceForAddress(const Address& addr, +AccessTraceForAddress& lookupTraceForAddress(Addr addr, AddressProfiler::AddressMap& record_map); diff --git a/src/mem/ruby/profiler/StoreTrace.cc b/src/mem/ruby/profiler/StoreTrace.cc index 1c462dd25..40bf2e7b6 100644 --- a/src/mem/ruby/profiler/StoreTrace.cc +++ b/src/mem/ruby/profiler/StoreTrace.cc @@ -40,7 +40,7 @@ Histogram* StoreTrace::s_store_first_to_stolen_ptr = NULL; Histogram* StoreTrace::s_store_last_to_stolen_ptr = NULL; Histogram* StoreTrace::s_store_first_to_last_ptr = NULL; -StoreTrace::StoreTrace(const Address& addr) +StoreTrace::StoreTrace(Addr addr) : m_store_count(-1), m_store_first_to_stolen(-1), m_store_last_to_stolen(-1), m_store_first_to_last(-1) { diff --git a/src/mem/ruby/profiler/StoreTrace.hh b/src/mem/ruby/profiler/StoreTrace.hh index ac38a420b..9c1b83cd6 100644 --- a/src/mem/ruby/profiler/StoreTrace.hh +++ b/src/mem/ruby/profiler/StoreTrace.hh @@ -39,7 +39,7 @@ class StoreTrace { public: StoreTrace() { } - explicit StoreTrace(const Address& addr); + explicit StoreTrace(Addr addr); ~StoreTrace(); void store(NodeID node); @@ -60,7 +60,7 @@ class StoreTrace static Histogram* s_store_last_to_stolen_ptr; static Histogram* s_store_first_to_last_ptr; - Address m_addr; + Addr m_addr; NodeID m_last_writer; Tick m_first_store; Tick m_last_store; |