summaryrefslogtreecommitdiff
path: root/cpu/static_inst.hh
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/static_inst.hh')
-rw-r--r--cpu/static_inst.hh25
1 files changed, 5 insertions, 20 deletions
diff --git a/cpu/static_inst.hh b/cpu/static_inst.hh
index 46b2e4b19..c47fa32db 100644
--- a/cpu/static_inst.hh
+++ b/cpu/static_inst.hh
@@ -40,8 +40,12 @@
#include "targetarch/isa_traits.hh"
// forward declarations
+struct AlphaSimpleImpl;
class ExecContext;
class DynInst;
+template <class Impl>
+class AlphaDynInst;
+
class FastCPU;
class SimpleCPU;
class InorderCPU;
@@ -308,26 +312,7 @@ class StaticInst : public StaticInstBase
delete cachedDisassembly;
}
- /**
- * Execute this instruction under SimpleCPU model.
- */
- virtual Fault execute(SimpleCPU *xc, Trace::InstRecord *traceData) = 0;
-
- /**
- * Execute this instruction under InorderCPU model.
- */
- virtual Fault execute(InorderCPU *xc, Trace::InstRecord *traceData) = 0;
-
-
- /**
- * Execute this instruction under FastCPU model.
- */
- virtual Fault execute(FastCPU *xc, Trace::InstRecord *traceData) = 0;
-
- /**
- * Execute this instruction under detailed FullCPU model.
- */
- virtual Fault execute(DynInst *xc, Trace::InstRecord *traceData) = 0;
+#include "static_inst_impl.hh"
/**
* Return the target address for a PC-relative branch.