68c68
< isForward(false), allocOnFill(false)
---
> isForward(false)
73c73
< : needsWritable(false), hasUpgrade(false)
---
> : needsWritable(false), hasUpgrade(false), allocOnFill(false)
78c78,79
< MSHR::TargetList::updateFlags(PacketPtr pkt, Target::Source source)
---
> MSHR::TargetList::updateFlags(PacketPtr pkt, Target::Source source,
> bool alloc_on_fill)
90a92,95
>
> // potentially re-evaluate whether we should allocate on a fill or
> // not
> allocOnFill = allocOnFill || alloc_on_fill;
99c104
< updateFlags(t.pkt, t.source);
---
> updateFlags(t.pkt, t.source, t.allocOnFill);
105c110,111
< Counter order, Target::Source source, bool markPending)
---
> Counter order, Target::Source source, bool markPending,
> bool alloc_on_fill)
107c113
< updateFlags(pkt, source);
---
> updateFlags(pkt, source, alloc_on_fill);
122c128
< emplace_back(pkt, readyTime, order, source, markPending);
---
> emplace_back(pkt, readyTime, order, source, markPending, alloc_on_fill);
242d247
< allocOnFill = alloc_on_fill;
251c256
< targets.add(target, when_ready, _order, source, true);
---
> targets.add(target, when_ready, _order, source, true, alloc_on_fill);
308,311d312
< // potentially re-evaluate whether we should allocate on a fill or
< // not
< allocOnFill = allocOnFill || alloc_on_fill;
<
329c330,331
< deferredTargets.add(pkt, whenReady, _order, Target::FromCPU, true);
---
> deferredTargets.add(pkt, whenReady, _order, Target::FromCPU, true,
> alloc_on_fill);
335c337,338
< targets.add(pkt, whenReady, _order, Target::FromCPU, !inService);
---
> targets.add(pkt, whenReady, _order, Target::FromCPU, !inService,
> alloc_on_fill);
434c437
< downstreamPending && targets.needsWritable);
---
> downstreamPending && targets.needsWritable, false);
530c533
< allocOnFill ? "AllocOnFill" : "",
---
> allocOnFill() ? "AllocOnFill" : "",