AddressProfiler.hh (6284:a63d1dc4c820) AddressProfiler.hh (6285:ce086eca1ede)
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 55 unchanged lines hidden (view full) ---

64
65 void addTraceSample(Address data_addr, Address pc_addr, CacheRequestType type, AccessModeType access_mode, NodeID id, bool sharing_miss);
66 void profilePersistentPrediction(const Address& data_addr, AccessType type);
67 void profileRetry(const Address& data_addr, AccessType type, int count);
68 void profileGetX(const Address& datablock, const Address& PC, const Set& owner, const Set& sharers, NodeID requestor);
69 void profileGetS(const Address& datablock, const Address& PC, const Set& owner, const Set& sharers, NodeID requestor);
70
71 void print(ostream& out) const;
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 55 unchanged lines hidden (view full) ---

64
65 void addTraceSample(Address data_addr, Address pc_addr, CacheRequestType type, AccessModeType access_mode, NodeID id, bool sharing_miss);
66 void profilePersistentPrediction(const Address& data_addr, AccessType type);
67 void profileRetry(const Address& data_addr, AccessType type, int count);
68 void profileGetX(const Address& datablock, const Address& PC, const Set& owner, const Set& sharers, NodeID requestor);
69 void profileGetS(const Address& datablock, const Address& PC, const Set& owner, const Set& sharers, NodeID requestor);
70
71 void print(ostream& out) const;
72
73 //added by SS
74 void setHotLines(bool hot_lines);
75 void setAllInstructions(bool all_instructions);
72private:
73 // Private Methods
74
75 // Private copy constructor and assignment operator
76 AddressProfiler(const AddressProfiler& obj);
77 AddressProfiler& operator=(const AddressProfiler& obj);
78
79 // Data Members (m_ prefix)

--- 5 unchanged lines hidden (view full) ---

85 Map<Address, AccessTraceForAddress>* m_retryProfileMap;
86 Map<Address, AccessTraceForAddress>* m_persistentPredictionProfileMap;
87 Histogram m_persistentPredictionProfileHisto;
88 Histogram m_retryProfileHisto;
89 Histogram m_retryProfileHistoWrite;
90 Histogram m_retryProfileHistoRead;
91 Histogram m_getx_sharing_histogram;
92 Histogram m_gets_sharing_histogram;
76private:
77 // Private Methods
78
79 // Private copy constructor and assignment operator
80 AddressProfiler(const AddressProfiler& obj);
81 AddressProfiler& operator=(const AddressProfiler& obj);
82
83 // Data Members (m_ prefix)

--- 5 unchanged lines hidden (view full) ---

89 Map<Address, AccessTraceForAddress>* m_retryProfileMap;
90 Map<Address, AccessTraceForAddress>* m_persistentPredictionProfileMap;
91 Histogram m_persistentPredictionProfileHisto;
92 Histogram m_retryProfileHisto;
93 Histogram m_retryProfileHistoWrite;
94 Histogram m_retryProfileHistoRead;
95 Histogram m_getx_sharing_histogram;
96 Histogram m_gets_sharing_histogram;
97//added by SS
98 bool m_hot_lines;
99 bool m_all_instructions;
100
93};
94
95// Output operator declaration
96ostream& operator<<(ostream& out, const AddressProfiler& obj);
97
98// ******************* Definitions *******************
99
100// Output operator definition
101extern inline
102ostream& operator<<(ostream& out, const AddressProfiler& obj)
103{
104 obj.print(out);
105 out << flush;
106 return out;
107}
108
109#endif //ADDRESSPROFILER_H
101};
102
103// Output operator declaration
104ostream& operator<<(ostream& out, const AddressProfiler& obj);
105
106// ******************* Definitions *******************
107
108// Output operator definition
109extern inline
110ostream& operator<<(ostream& out, const AddressProfiler& obj)
111{
112 obj.print(out);
113 out << flush;
114 return out;
115}
116
117#endif //ADDRESSPROFILER_H