Profiler.hh (9496:28d88a0fda74) Profiler.hh (9497:2759161b9d7f)
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;

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

147 Time completionTime);
148
149 void swPrefetchLatency(Time t,
150 RubyRequestType type,
151 const GenericMachineType respondingMach);
152
153 void sequencerRequests(int num) { m_sequencer_requests.add(num); }
154
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;

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

147 Time completionTime);
148
149 void swPrefetchLatency(Time t,
150 RubyRequestType type,
151 const GenericMachineType respondingMach);
152
153 void sequencerRequests(int num) { m_sequencer_requests.add(num); }
154
155 void profileMsgDelay(uint32_t virtualNetwork, Time delayCycles);
156
157 void print(std::ostream& out) const;
158
159 void rubyWatch(int proc);
160 bool watchAddress(Address addr);
161
162 // return Ruby's start time
163 Time
164 getRubyStartTime()
165 {
166 return m_ruby_start;
167 }
168
169 // added by SS
170 bool getHotLines() { return m_hot_lines; }
171 bool getAllInstructions() { return m_all_instructions; }
172
173 private:
174 void printRequestProfile(std::ostream &out);
155 void print(std::ostream& out) const;
156
157 void rubyWatch(int proc);
158 bool watchAddress(Address addr);
159
160 // return Ruby's start time
161 Time
162 getRubyStartTime()
163 {
164 return m_ruby_start;
165 }
166
167 // added by SS
168 bool getHotLines() { return m_hot_lines; }
169 bool getAllInstructions() { return m_all_instructions; }
170
171 private:
172 void printRequestProfile(std::ostream &out);
173 void printDelayProfile(std::ostream &out);
175
176 private:
177 // Private copy constructor and assignment operator
178 Profiler(const Profiler& obj);
179 Profiler& operator=(const Profiler& obj);
180
181 AddressProfiler* m_address_profiler_ptr;
182 AddressProfiler* m_inst_profiler_ptr;

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

221
222 Histogram m_allMissLatencyHistogram;
223
224 Histogram m_allSWPrefetchLatencyHistogram;
225 Histogram m_SWPrefetchL2MissLatencyHistogram;
226 std::vector<Histogram> m_SWPrefetchLatencyHistograms;
227 std::vector<Histogram> m_SWPrefetchMachLatencyHistograms;
228
174
175 private:
176 // Private copy constructor and assignment operator
177 Profiler(const Profiler& obj);
178 Profiler& operator=(const Profiler& obj);
179
180 AddressProfiler* m_address_profiler_ptr;
181 AddressProfiler* m_inst_profiler_ptr;

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

220
221 Histogram m_allMissLatencyHistogram;
222
223 Histogram m_allSWPrefetchLatencyHistogram;
224 Histogram m_SWPrefetchL2MissLatencyHistogram;
225 std::vector<Histogram> m_SWPrefetchLatencyHistograms;
226 std::vector<Histogram> m_SWPrefetchMachLatencyHistograms;
227
229 Histogram m_delayedCyclesHistogram;
230 Histogram m_delayedCyclesNonPFHistogram;
231 std::vector<Histogram> m_delayedCyclesVCHistograms;
232
233 Histogram m_outstanding_requests;
234 Histogram m_outstanding_persistent_requests;
235
236 Histogram m_average_latency_estimate;
237
238 m5::hash_set<Address> m_watch_address_set;
239
240 //added by SS

--- 29 unchanged lines hidden ---
228 Histogram m_outstanding_requests;
229 Histogram m_outstanding_persistent_requests;
230
231 Histogram m_average_latency_estimate;
232
233 m5::hash_set<Address> m_watch_address_set;
234
235 //added by SS

--- 29 unchanged lines hidden ---