Deleted Added
sdiff udiff text old ( 10193:d717abc806aa ) new ( 10328:867b536a68be )
full compact
1/*
2 * Copyright (c) 2010-2012 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

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

180 void setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr);
181
182 /** Sets the pointer to the queue coming from IEW. */
183 void setIEWQueue(TimeBuffer<IEWStruct> *iq_ptr);
184
185 /** Sets the pointer to the IEW stage. */
186 void setIEWStage(IEW *iew_stage);
187
188 /** Skid buffer between rename and commit. */
189 std::queue<DynInstPtr> skidBuffer;
190
191 /** The pointer to the IEW stage. Used solely to ensure that
192 * various events (traps, interrupts, syscalls) do not occur until
193 * all stores have written back.
194 */
195 IEW *iewStage;
196
197 /** Sets pointer to list of active threads. */
198 void setActiveThreads(std::list<ThreadID> *at_ptr);

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

246 */
247 void updateStatus();
248
249 /** Sets the next status based on threads' statuses, which becomes the
250 * current status at the end of the cycle.
251 */
252 void setNextStatus();
253
254 /** Checks if the ROB is completed with squashing. This is for the case
255 * where the ROB can take multiple cycles to complete squashing.
256 */
257 bool robDoneSquashing();
258
259 /** Returns if any of the threads have the number of ROB entries changed
260 * on this cycle. Used to determine if the number of free ROB entries needs
261 * to be sent back to previous stages.
262 */
263 bool changedROBEntries();
264
265 /** Squashes all in flight instructions. */
266 void squashAll(ThreadID tid);

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

316 /** Tries to commit the head ROB instruction passed in.
317 * @param head_inst The instruction to be committed.
318 */
319 bool commitHead(DynInstPtr &head_inst, unsigned inst_num);
320
321 /** Gets instructions from rename and inserts them into the ROB. */
322 void getInsts();
323
324 /** Insert all instructions from rename into skidBuffer */
325 void skidInsert();
326
327 /** Marks completed instructions using information sent from IEW. */
328 void markCompletedInsts();
329
330 /** Gets the thread to commit, based on the SMT policy. */
331 ThreadID getCommittingThread();
332
333 /** Returns the thread ID to use based on a round robin policy. */
334 ThreadID roundRobin();

--- 210 unchanged lines hidden ---