misc: Using smart pointers for memory Requests

This patch is changing the underlying type for RequestPtr from Request*
to shared_ptr<Request>. Having memory requests being managed by smart
pointers will simplify the code; it will also prevent memory leakage and
dangling pointers.

Change-Id: I7749af38a11ac8eb4d53d8df1252951e0890fde3
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/10996
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
This commit is contained in:
Giacomo Travaglini
2018-06-04 09:40:19 +01:00
parent 2113b21996
commit f54020eb81
103 changed files with 609 additions and 651 deletions

View File

@@ -47,8 +47,9 @@ PacketPtr
SCMasterPort::generatePacket(tlm::tlm_generic_payload& trans)
{
Request::Flags flags;
auto req = new Request(trans.get_address(), trans.get_data_length(), flags,
owner.masterId);
auto req = std::make_shared<Request>(
trans.get_address(), trans.get_data_length(), flags,
owner.masterId);
MemCmd cmd;