Deleted Added
sdiff udiff text old ( 11247:76f75db08e09 ) new ( 11252:18bb597fc40c )
full compact
1/*
2 * Copyright (c) 2013 - 2015 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

87 */
88class ElasticTrace : public ProbeListenerObject
89{
90
91 public:
92 typedef typename O3CPUImpl::DynInstPtr DynInstPtr;
93 typedef typename std::pair<InstSeqNum, PhysRegIndex> SeqNumRegPair;
94
95 /** Constructor */
96 ElasticTrace(const ElasticTraceParams *params);
97
98 /**
99 * Register the probe listeners that is the methods called on a probe point
100 * notify() call.
101 */
102 void regProbeListeners();

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

255 struct TraceInfo
256 {
257 /**
258 * @ingroup TraceInfo
259 * @{
260 */
261 /* Instruction sequence number. */
262 InstSeqNum instNum;
263 /* Tick when instruction was in execute stage. */
264 Tick executeTick;
265 /* Tick when instruction was marked ready and sent to commit stage. */
266 Tick toCommitTick;
267 /* Tick when instruction was committed. */
268 Tick commitTick;
269 /* If instruction was a load, a store, committed. */
270 bool load, store, commit;
271 /* List of order dependencies. */
272 std::list<InstSeqNum> robDepList;
273 /* List of physical register RAW dependencies. */
274 std::list<InstSeqNum> physRegDepList;
275 /**
276 * Computational delay after the last dependent inst. completed.
277 * A value of -1 which means instruction has no dependencies.
278 */
279 int64_t compDelay;
280 /* Number of dependents. */
281 uint32_t numDepts;
282 /* The instruction PC for a load, store or non load/store. */
283 Addr pc;
284 /* Request flags in case of a load/store instruction */
285 Request::FlagsType reqFlags;
286 /* Request address in case of a load/store instruction */
287 Addr addr;
288 /* Request size in case of a load/store instruction */
289 unsigned size;
290 /** @} */
291
292 /**
293 * Get the execute tick of the instruction.
294 *
295 * @return Tick when instruction was executed
296 */
297 Tick getExecuteTick() const;

--- 240 unchanged lines hidden ---