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 --- |