mshr_queue.cc (12727:56c23b54bcb1) mshr_queue.cc (13351:1d456a63bfbc)
1/*
1/*
2 * Copyright (c) 2012-2013, 2015-2016 ARM Limited
2 * Copyright (c) 2012-2013, 2015-2016, 2018 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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

80 if (!mshr->inService) {
81 assert(mshr == *(mshr->readyIter));
82 readyList.erase(mshr->readyIter);
83 mshr->readyIter = readyList.insert(readyList.begin(), mshr);
84 }
85}
86
87void
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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

80 if (!mshr->inService) {
81 assert(mshr == *(mshr->readyIter));
82 readyList.erase(mshr->readyIter);
83 mshr->readyIter = readyList.insert(readyList.begin(), mshr);
84 }
85}
86
87void
88MSHRQueue::delay(MSHR *mshr, Tick delay_ticks)
89{
90 mshr->delay(delay_ticks);
91 auto it = std::find_if(mshr->readyIter, readyList.end(),
92 [mshr] (const MSHR* _mshr) {
93 return mshr->readyTime >= _mshr->readyTime;
94 });
95 readyList.splice(it, readyList, mshr->readyIter);
96}
97
98void
88MSHRQueue::markInService(MSHR *mshr, bool pending_modified_resp)
89{
90 mshr->markInService(pending_modified_resp);
91 readyList.erase(mshr->readyIter);
92 _numInService += 1;
93}
94
95void

--- 27 unchanged lines hidden ---
99MSHRQueue::markInService(MSHR *mshr, bool pending_modified_resp)
100{
101 mshr->markInService(pending_modified_resp);
102 readyList.erase(mshr->readyIter);
103 _numInService += 1;
104}
105
106void

--- 27 unchanged lines hidden ---