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