diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2004-05-18 16:09:02 -0700 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2004-05-18 16:09:02 -0700 |
commit | 4c55d26e664f870d56889097939569c4b07c6de2 (patch) | |
tree | 99d89fca614cf82b6fc2dbd317099c7ca2cdf83d /cpu/static_inst.hh | |
parent | 02af86f7e813db27b12214ea377948f07f891b69 (diff) | |
download | gem5-4c55d26e664f870d56889097939569c4b07c6de2.tar.xz |
Replace explicit xc->misspeculating() tests in execute() methods
with an IsNonSpeculative flag.
No effect on results of non-full-system or SimpleCPU.
Very small impact on full-system FullCPU runs since old wrong-path
call_pal insts used to change the PC, where now they're treated
as no-ops.
arch/alpha/isa_desc:
Get rid of xc->misspeculating() checks, use IsNonSpeculative flag instead.
cpu/static_inst.hh:
Add IsNonSpeculative flag and isNonSpeculative() method to test it.
--HG--
extra : convert_revision : 7ec536bfc28b905c429c09eb920ed73ef2beeeba
Diffstat (limited to 'cpu/static_inst.hh')
-rw-r--r-- | cpu/static_inst.hh | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cpu/static_inst.hh b/cpu/static_inst.hh index 1065fa3d4..088fdbdb7 100644 --- a/cpu/static_inst.hh +++ b/cpu/static_inst.hh @@ -106,11 +106,13 @@ class StaticInstBase : public RefCounted IsThreadSync, ///< Thread synchronization operation. - IsSerializing, ///< Serializes pipeline: won't until all + IsSerializing, ///< Serializes pipeline: won't execute until all /// older instructions have committed. IsMemBarrier, ///< Is a memory barrier IsWriteBarrier, ///< Is a write barrier + IsNonSpeculative, ///< Should not be executed speculatively + NumFlags }; @@ -192,6 +194,7 @@ class StaticInstBase : public RefCounted bool isSerializing() const { return flags[IsSerializing]; } bool isMemBarrier() const { return flags[IsMemBarrier]; } bool isWriteBarrier() const { return flags[IsWriteBarrier]; } + bool isNonSpeculative() const { return flags[IsNonSpeculative]; } //@} /// Operation class. Used to select appropriate function unit in issue. |