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