diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2014-10-16 05:49:51 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2014-10-16 05:49:51 -0400 |
commit | a2d246b6b8379f9a74dbc56feefc155f615b5ea4 (patch) | |
tree | bbfaf7a39edebda5ca7ddac9af5e205823d37e10 /src/arch/power | |
parent | a769963d16b7b259580fa2da1e84f62aae0a5a42 (diff) | |
download | gem5-a2d246b6b8379f9a74dbc56feefc155f615b5ea4.tar.xz |
arch: Use shared_ptr for all Faults
This patch takes quite a large step in transitioning from the ad-hoc
RefCountingPtr to the c++11 shared_ptr by adopting its use for all
Faults. There are no changes in behaviour, and the code modifications
are mostly just replacing "new" with "make_shared".
Diffstat (limited to 'src/arch/power')
-rw-r--r-- | src/arch/power/isa/formats/unimp.isa | 2 | ||||
-rw-r--r-- | src/arch/power/isa/formats/unknown.isa | 2 | ||||
-rw-r--r-- | src/arch/power/tlb.cc | 2 | ||||
-rw-r--r-- | src/arch/power/tlb.hh | 1 |
4 files changed, 3 insertions, 4 deletions
diff --git a/src/arch/power/isa/formats/unimp.isa b/src/arch/power/isa/formats/unimp.isa index b3e7e6073..daee8f559 100644 --- a/src/arch/power/isa/formats/unimp.isa +++ b/src/arch/power/isa/formats/unimp.isa @@ -117,7 +117,7 @@ output exec {{ panic("attempt to execute unimplemented instruction '%s' " "(inst 0x%08x, opcode 0x%x, binary:%s)", mnemonic, machInst, OPCODE, inst2string(machInst)); - return new UnimplementedOpcodeFault; + return std::make_shared<UnimplementedOpcodeFault>(); } Fault diff --git a/src/arch/power/isa/formats/unknown.isa b/src/arch/power/isa/formats/unknown.isa index e355397c9..d9985e7c6 100644 --- a/src/arch/power/isa/formats/unknown.isa +++ b/src/arch/power/isa/formats/unknown.isa @@ -77,7 +77,7 @@ output exec {{ panic("attempt to execute unknown instruction at %#x" "(inst 0x%08x, opcode 0x%x, binary: %s)", xc->pcState().pc(), machInst, OPCODE, inst2string(machInst)); - return new UnimplementedOpcodeFault; + return std::make_shared<UnimplementedOpcodeFault>(); } }}; diff --git a/src/arch/power/tlb.cc b/src/arch/power/tlb.cc index 1396d726c..950483893 100644 --- a/src/arch/power/tlb.cc +++ b/src/arch/power/tlb.cc @@ -282,7 +282,7 @@ TLB::translateInst(RequestPtr req, ThreadContext *tc) if (req->getVaddr() & 0x3) { DPRINTF(TLB, "Alignment Fault on %#x, size = %d\n", req->getVaddr(), req->getSize()); - return new AlignmentFault(); + return std::make_shared<AlignmentFault>(); } Process * p = tc->getProcessPtr(); diff --git a/src/arch/power/tlb.hh b/src/arch/power/tlb.hh index b18956b07..9ea1fca8b 100644 --- a/src/arch/power/tlb.hh +++ b/src/arch/power/tlb.hh @@ -46,7 +46,6 @@ #include "base/statistics.hh" #include "mem/request.hh" #include "params/PowerTLB.hh" -#include "sim/fault_fwd.hh" #include "sim/tlb.hh" class ThreadContext; |