Deleted Added
sdiff udiff text old ( 8822:e7ae13867098 ) new ( 9444:ab47fe7f03f0 )
full compact
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
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;
9 * redistributions in binary form must reproduce the above copyright

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

92
93 std::string name() const;
94
95 /** Sets pointer to the list of active threads.
96 * @param at_ptr Pointer to the list of active threads.
97 */
98 void setActiveThreads(std::list<ThreadID> *at_ptr);
99
100 /** Switches out the ROB. */
101 void switchOut();
102
103 /** Takes over another CPU's thread. */
104 void takeOverFrom();
105
106 /** Function to insert an instruction into the ROB. Note that whatever
107 * calls this function must ensure that there is enough space within the
108 * ROB for the new instruction.
109 * @param inst The instruction being inserted into the ROB.

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

180 bool isFull()
181 { return numInstsInROB == numEntries; }
182
183 /** Returns if a specific thread's partition is full. */
184 bool isFull(ThreadID tid)
185 { return threadEntries[tid] == numEntries; }
186
187 /** Returns if the ROB is empty. */
188 bool isEmpty()
189 { return numInstsInROB == 0; }
190
191 /** Returns if a specific thread's partition is empty. */
192 bool isEmpty(ThreadID tid)
193 { return threadEntries[tid] == 0; }
194
195 /** Executes the squash, marking squashed instructions. */
196 void doSquash(ThreadID tid);
197
198 /** Squashes all instructions younger than the given sequence number for
199 * the specific thread.
200 */

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

259 * double checking that variable.
260 */
261 int countInsts(ThreadID tid);
262
263 /** Registers statistics. */
264 void regStats();
265
266 private:
267 /** Pointer to the CPU. */
268 O3CPU *cpu;
269
270 /** Active Threads in CPU */
271 std::list<ThreadID> *activeThreads;
272
273 /** Number of instructions in the ROB. */
274 unsigned numEntries;

--- 58 unchanged lines hidden ---