cache.cc (11199:929fd978ab4e) | cache.cc (11271:f4ad5be63ba8) |
---|---|
1/* 2 * Copyright (c) 2010-2015 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 --- 1991 unchanged lines hidden (view full) --- 2000 doTimingSupplyResponse(pkt, blk->data, is_deferred, pending_inval); 2001 } else { 2002 pkt->makeAtomicResponse(); 2003 pkt->setDataFromBlock(blk->data, blkSize); 2004 } 2005 } 2006 2007 if (!respond && is_timing && is_deferred) { | 1/* 2 * Copyright (c) 2010-2015 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 --- 1991 unchanged lines hidden (view full) --- 2000 doTimingSupplyResponse(pkt, blk->data, is_deferred, pending_inval); 2001 } else { 2002 pkt->makeAtomicResponse(); 2003 pkt->setDataFromBlock(blk->data, blkSize); 2004 } 2005 } 2006 2007 if (!respond && is_timing && is_deferred) { |
2008 // if it's a deferred timing snoop then we've made a copy of 2009 // both the request and the packet, and so if we're not using 2010 // those copies to respond and delete them here 2011 DPRINTF(Cache, "Deleting pkt %p and request %p for cmd %s addr: %p\n", 2012 pkt, pkt->req, pkt->cmdString(), pkt->getAddr()); 2013 2014 // the packets needs a response (just not from us), so we also 2015 // need to delete the request and not rely on the packet 2016 // destructor | 2008 // if it's a deferred timing snoop to which we are not 2009 // responding, then we've made a copy of both the request and 2010 // the packet, delete them here |
2017 assert(pkt->needsResponse()); 2018 delete pkt->req; 2019 delete pkt; 2020 } 2021 2022 // Do this last in case it deallocates block data or something 2023 // like that 2024 if (invalidate) { --- 630 unchanged lines hidden --- | 2011 assert(pkt->needsResponse()); 2012 delete pkt->req; 2013 delete pkt; 2014 } 2015 2016 // Do this last in case it deallocates block data or something 2017 // like that 2018 if (invalidate) { --- 630 unchanged lines hidden --- |