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