AddressProfiler.hh (7055:4e24742201d7) | AddressProfiler.hh (7455:586f99bf0dc4) |
---|---|
1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 17 unchanged lines hidden (view full) --- 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29#ifndef __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__ 30#define __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__ 31 32#include <iostream> 33 | 1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 17 unchanged lines hidden (view full) --- 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29#ifndef __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__ 30#define __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__ 31 32#include <iostream> 33 |
34#include "base/hashmap.hh" |
|
34#include "mem/protocol/AccessType.hh" 35#include "mem/protocol/CacheMsg.hh" 36#include "mem/ruby/common/Address.hh" 37#include "mem/ruby/common/Global.hh" 38#include "mem/ruby/common/Histogram.hh" | 35#include "mem/protocol/AccessType.hh" 36#include "mem/protocol/CacheMsg.hh" 37#include "mem/ruby/common/Address.hh" 38#include "mem/ruby/common/Global.hh" 39#include "mem/ruby/common/Histogram.hh" |
40#include "mem/ruby/profiler/AccessTraceForAddress.hh" |
|
39#include "mem/ruby/system/NodeID.hh" 40 | 41#include "mem/ruby/system/NodeID.hh" 42 |
41class AccessTraceForAddress; | |
42class Set; | 43class Set; |
43template <class KEY_TYPE, class VALUE_TYPE> class Map; | |
44 45class AddressProfiler 46{ 47 public: | 44 45class AddressProfiler 46{ 47 public: |
48 typedef Map<Address, AccessTraceForAddress> AddressMap; | 48 typedef m5::hash_map<Address, AccessTraceForAddress> AddressMap; |
49 50 public: 51 AddressProfiler(int num_of_sequencers); 52 ~AddressProfiler(); 53 54 void printStats(std::ostream& out) const; 55 void clearStats(); 56 --- 14 unchanged lines hidden (view full) --- 71 72 private: 73 // Private copy constructor and assignment operator 74 AddressProfiler(const AddressProfiler& obj); 75 AddressProfiler& operator=(const AddressProfiler& obj); 76 77 int64 m_sharing_miss_counter; 78 | 49 50 public: 51 AddressProfiler(int num_of_sequencers); 52 ~AddressProfiler(); 53 54 void printStats(std::ostream& out) const; 55 void clearStats(); 56 --- 14 unchanged lines hidden (view full) --- 71 72 private: 73 // Private copy constructor and assignment operator 74 AddressProfiler(const AddressProfiler& obj); 75 AddressProfiler& operator=(const AddressProfiler& obj); 76 77 int64 m_sharing_miss_counter; 78 |
79 AddressMap* m_dataAccessTrace; 80 AddressMap* m_macroBlockAccessTrace; 81 AddressMap* m_programCounterAccessTrace; 82 AddressMap* m_retryProfileMap; | 79 AddressMap m_dataAccessTrace; 80 AddressMap m_macroBlockAccessTrace; 81 AddressMap m_programCounterAccessTrace; 82 AddressMap m_retryProfileMap; |
83 Histogram m_retryProfileHisto; 84 Histogram m_retryProfileHistoWrite; 85 Histogram m_retryProfileHistoRead; 86 Histogram m_getx_sharing_histogram; 87 Histogram m_gets_sharing_histogram; 88 89 //added by SS 90 bool m_hot_lines; --- 14 unchanged lines hidden --- | 83 Histogram m_retryProfileHisto; 84 Histogram m_retryProfileHistoWrite; 85 Histogram m_retryProfileHistoRead; 86 Histogram m_getx_sharing_histogram; 87 Histogram m_gets_sharing_histogram; 88 89 //added by SS 90 bool m_hot_lines; --- 14 unchanged lines hidden --- |