mshr_queue.cc (10028:fb8c44de891a) mshr_queue.cc (10192:5c2c4195b839)
1/*
2 * Copyright (c) 2012-2013 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

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

227 --inServiceEntries;
228 /**
229 * @ todo might want to add rerequests to front of pending list for
230 * performance.
231 */
232 mshr->readyIter = addToReadyList(mshr);
233}
234
1/*
2 * Copyright (c) 2012-2013 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

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

227 --inServiceEntries;
228 /**
229 * @ todo might want to add rerequests to front of pending list for
230 * performance.
231 */
232 mshr->readyIter = addToReadyList(mshr);
233}
234
235bool
236MSHRQueue::forceDeallocateTarget(MSHR *mshr)
237{
238 bool was_full = isFull();
239 assert(mshr->hasTargets());
240 // Pop the prefetch off of the target list
241 mshr->popTarget();
242 // Delete mshr if no remaining targets
243 if (!mshr->hasTargets() && !mshr->promoteDeferredTargets()) {
244 deallocateOne(mshr);
245 }
246
247 // Notify if MSHR queue no longer full
248 return was_full && !isFull();
249}
250
235void
236MSHRQueue::squash(int threadNum)
237{
238 MSHR::Iterator i = allocatedList.begin();
239 MSHR::Iterator end = allocatedList.end();
240 for (; i != end;) {
241 MSHR *mshr = *i;
242 if (mshr->threadNum == threadNum) {

--- 30 unchanged lines hidden ---
251void
252MSHRQueue::squash(int threadNum)
253{
254 MSHR::Iterator i = allocatedList.begin();
255 MSHR::Iterator end = allocatedList.end();
256 for (; i != end;) {
257 MSHR *mshr = *i;
258 if (mshr->threadNum == threadNum) {

--- 30 unchanged lines hidden ---