lsq_unit_impl.hh (9814:7ad2b0186a32) lsq_unit_impl.hh (9936:f00546aff354)
1
2/*
3 * Copyright (c) 2010-2012 ARM Limited
4 * All rights reserved
5 *
6 * The license below extends only to copyright in the software and shall
7 * not be construed as granting a license to any other intellectual
8 * property including but not limited to intellectual property relating

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

153 lsq = lsq_ptr;
154
155 lsqID = id;
156
157 // Add 1 for the sentinel entry (they are circular queues).
158 LQEntries = maxLQEntries + 1;
159 SQEntries = maxSQEntries + 1;
160
1
2/*
3 * Copyright (c) 2010-2012 ARM Limited
4 * All rights reserved
5 *
6 * The license below extends only to copyright in the software and shall
7 * not be construed as granting a license to any other intellectual
8 * property including but not limited to intellectual property relating

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

153 lsq = lsq_ptr;
154
155 lsqID = id;
156
157 // Add 1 for the sentinel entry (they are circular queues).
158 LQEntries = maxLQEntries + 1;
159 SQEntries = maxSQEntries + 1;
160
161 //Due to uint8_t index in LSQSenderState
162 assert(LQEntries <= 256);
163 assert(SQEntries <= 256);
164
161 loadQueue.resize(LQEntries);
162 storeQueue.resize(SQEntries);
163
164 depCheckShift = params->LSQDepCheckShift;
165 checkLoads = params->LSQCheckLoads;
166 cachePorts = params->cachePorts;
167 needsTSO = params->needsTSO;
168

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

301 DynInstPtr dummy;
302 loadQueue.push_back(dummy);
303 LQEntries++;
304 }
305 } else {
306 LQEntries = size_plus_sentinel;
307 }
308
165 loadQueue.resize(LQEntries);
166 storeQueue.resize(SQEntries);
167
168 depCheckShift = params->LSQDepCheckShift;
169 checkLoads = params->LSQCheckLoads;
170 cachePorts = params->cachePorts;
171 needsTSO = params->needsTSO;
172

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

305 DynInstPtr dummy;
306 loadQueue.push_back(dummy);
307 LQEntries++;
308 }
309 } else {
310 LQEntries = size_plus_sentinel;
311 }
312
313 assert(LQEntries <= 256);
309}
310
311template<class Impl>
312void
313LSQUnit<Impl>::resizeSQ(unsigned size)
314{
315 unsigned size_plus_sentinel = size + 1;
316 if (size_plus_sentinel > SQEntries) {
317 while (size_plus_sentinel > storeQueue.size()) {
318 SQEntry dummy;
319 storeQueue.push_back(dummy);
320 SQEntries++;
321 }
322 } else {
323 SQEntries = size_plus_sentinel;
324 }
314}
315
316template<class Impl>
317void
318LSQUnit<Impl>::resizeSQ(unsigned size)
319{
320 unsigned size_plus_sentinel = size + 1;
321 if (size_plus_sentinel > SQEntries) {
322 while (size_plus_sentinel > storeQueue.size()) {
323 SQEntry dummy;
324 storeQueue.push_back(dummy);
325 SQEntries++;
326 }
327 } else {
328 SQEntries = size_plus_sentinel;
329 }
330
331 assert(SQEntries <= 256);
325}
326
327template <class Impl>
328void
329LSQUnit<Impl>::insert(DynInstPtr &inst)
330{
331 assert(inst->isMemRef());
332

--- 952 unchanged lines hidden ---
332}
333
334template <class Impl>
335void
336LSQUnit<Impl>::insert(DynInstPtr &inst)
337{
338 assert(inst->isMemRef());
339

--- 952 unchanged lines hidden ---