mshr.hh (12792:9af3470e24e7) | mshr.hh (12793:dda6af979353) |
---|---|
1/* 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 --- 272 unchanged lines hidden (view full) --- 281 * 282 * @return true if any of the targets is from another cache 283 */ 284 bool hasFromCache() const { 285 return targets.hasFromCache; 286 } 287 288 private: | 1/* 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 --- 272 unchanged lines hidden (view full) --- 281 * 282 * @return true if any of the targets is from another cache 283 */ 284 bool hasFromCache() const { 285 return targets.hasFromCache; 286 } 287 288 private: |
289 /** 290 * Promotes deferred targets that satisfy a predicate 291 * 292 * Deferred targets are promoted to the target list if they 293 * satisfy a given condition. The operation stops at the first 294 * deferred target that doesn't satisfy the condition. 295 * 296 * @param pred A condition on a Target 297 */ 298 void promoteIf(const std::function<bool (Target &)>& pred); |
|
289 290 /** 291 * Pointer to this MSHR on the ready list. 292 * @sa MissQueue, MSHRQueue::readyList 293 */ 294 Iterator readyIter; 295 296 /** --- 86 unchanged lines hidden (view full) --- 383 targets.pop_front(); 384 } 385 386 bool promoteDeferredTargets(); 387 388 /** 389 * Promotes deferred targets that do not require writable 390 * | 299 300 /** 301 * Pointer to this MSHR on the ready list. 302 * @sa MissQueue, MSHRQueue::readyList 303 */ 304 Iterator readyIter; 305 306 /** --- 86 unchanged lines hidden (view full) --- 393 targets.pop_front(); 394 } 395 396 bool promoteDeferredTargets(); 397 398 /** 399 * Promotes deferred targets that do not require writable 400 * |
401 * Move targets from the deferred targets list to the target list 402 * starting from the first deferred target until the first target 403 * that is a cache maintenance operation or needs a writable copy 404 * of the block 405 */ 406 void promoteReadable(); 407 408 /** 409 * Promotes deferred targets that do not require writable 410 * |
|
391 * Requests in the deferred target list are moved to the target 392 * list up until the first target that is a cache maintenance 393 * operation or needs a writable copy of the block 394 */ 395 void promoteWritable(); 396 397 bool checkFunctional(PacketPtr pkt); 398 --- 16 unchanged lines hidden --- | 411 * Requests in the deferred target list are moved to the target 412 * list up until the first target that is a cache maintenance 413 * operation or needs a writable copy of the block 414 */ 415 void promoteWritable(); 416 417 bool checkFunctional(PacketPtr pkt); 418 --- 16 unchanged lines hidden --- |