Lines Matching refs:targets

268     targets.init(blkAddr, blkSize);
275 targets.add(target, when_ready, _order, source, true, alloc_on_fill);
277 // All targets must refer to the same block
278 assert(target->matchBlockAddr(targets.front().pkt, blkSize));
289 targets.clearDownstreamPending();
298 pendingModified = targets.needsWritable || pending_modified_resp;
304 targets.clearDownstreamPending();
316 assert(targets.empty());
317 targets.resetFlags();
336 // - there are other targets already deferred
347 PacketPtr tgt_pkt = targets.front().pkt;
365 targets.add(pkt, whenReady, _order, Target::FromCPU, !inService,
398 targets.replaceUpgrades();
409 // issue for deferred targets, if any...
413 PacketPtr tgt_pkt = targets.front().pkt;
473 targets.add(cp_pkt, curTick(), _order, Target::FromSnoop,
474 downstreamPending && targets.needsWritable, false);
501 // service the first of the FromCPU targets and any other
502 // non-FromCPU target. This way the remaining FromCPU targets
506 auto it = targets.begin();
510 it = targets.erase(it);
511 while (it != targets.end()) {
517 it = targets.erase(it);
522 std::swap(ready_targets, targets);
524 targets.populateFlags();
532 if (targets.empty() && deferredTargets.empty()) {
537 // the deferred targets can be generally promoted unless they
547 // then we can promote provided the targets list is empty and
549 if (targets.empty()) {
550 targets.splice(targets.end(), deferredTargets, it);
554 // deferred targets that precede it, or all deferred targets
556 targets.splice(targets.end(), deferredTargets,
561 targets.populateFlags();
562 order = targets.front().order;
563 readyTime = std::max(curTick(), targets.front().readyTime);
571 // if any of the deferred targets were upper-level cache
584 targets.splice(targets.end(), deferredTargets,
596 // but we have deferred targets which are waiting and they do
600 // have the block, there's no need to defer the targets, so
617 // We got a writable response, but we have deferred targets
622 // need to defer the targets, so move them up to the regular
624 assert(!targets.needsWritable);
625 targets.needsWritable = true;
641 // For other requests, we iterate over the individual targets
647 return (targets.trySatisfyFunctional(pkt) ||
674 if (!targets.empty()) {
676 targets.print(os, verbosity, prefix + " ");