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/mips/isa/decoder.isa | |
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/mips/isa/decoder.isa')
-rw-r--r-- | src/arch/mips/isa/decoder.isa | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/arch/mips/isa/decoder.isa b/src/arch/mips/isa/decoder.isa index 22e34e32a..a62dbb7bb 100644 --- a/src/arch/mips/isa/decoder.isa +++ b/src/arch/mips/isa/decoder.isa @@ -166,10 +166,10 @@ decode OPCODE_HI default Unknown::unknown() { 0x4: decode FullSystemInt { 0: syscall_se({{ xc->syscall(R2); }}, IsSerializeAfter, IsNonSpeculative); - default: syscall({{ fault = new SystemCallFault(); }}); + default: syscall({{ fault = std::make_shared<SystemCallFault>(); }}); } 0x7: sync({{ ; }}, IsMemBarrier); - 0x5: break({{fault = new BreakpointFault();}}); + 0x5: break({{fault = std::make_shared<BreakpointFault>();}}); } } @@ -214,7 +214,7 @@ decode OPCODE_HI default Unknown::unknown() { Rd = result = Rs + Rt; if (FullSystem && findOverflow(32, result, Rs, Rt)) { - fault = new IntegerOverflowFault(); + fault = std::make_shared<IntegerOverflowFault>(); } }}); 0x1: addu({{ Rd_sw = Rs_sw + Rt_sw;}}); @@ -223,7 +223,7 @@ decode OPCODE_HI default Unknown::unknown() { Rd = result = Rs - Rt; if (FullSystem && findOverflow(32, result, Rs, ~Rt)) { - fault = new IntegerOverflowFault(); + fault = std::make_shared<IntegerOverflowFault>(); } }}); 0x3: subu({{ Rd_sw = Rs_sw - Rt_sw; }}); @@ -327,7 +327,7 @@ decode OPCODE_HI default Unknown::unknown() { Rt = result = Rs + imm; if (FullSystem && findOverflow(32, result, Rs, imm)) { - fault = new IntegerOverflowFault(); + fault = std::make_shared<IntegerOverflowFault>(); } }}); 0x1: addiu({{ Rt_sw = Rs_sw + imm; }}); @@ -601,7 +601,7 @@ decode OPCODE_HI default Unknown::unknown() { } else { // Enable this else branch once we // actually set values for Config on init - fault = new ReservedInstructionFault(); + fault = std::make_shared<ReservedInstructionFault>(); } Status = status; }}); @@ -612,7 +612,7 @@ decode OPCODE_HI default Unknown::unknown() { Rt = status; status.ie = 1; } else { - fault = new ReservedInstructionFault(); + fault = std::make_shared<ReservedInstructionFault>(); } }}); default:CP0Unimpl::unknown(); @@ -627,7 +627,7 @@ decode OPCODE_HI default Unknown::unknown() { // Rev 2 of the architecture panic("Shadow Sets Not Fully Implemented.\n"); } else { - fault = new ReservedInstructionFault(); + fault = std::make_shared<ReservedInstructionFault>(); } }}); 0xE: wrpgpr({{ @@ -636,7 +636,7 @@ decode OPCODE_HI default Unknown::unknown() { // Rev 2 of the architecture panic("Shadow Sets Not Fully Implemented.\n"); } else { - fault = new ReservedInstructionFault(); + fault = std::make_shared<ReservedInstructionFault>(); } }}); } |