summaryrefslogtreecommitdiff
path: root/src/sim/instrDTO.cc
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-04-17 01:17:48 -0400
committerbd <bdunahu@operationnull.com>2025-04-17 01:17:48 -0400
commit94a0435da91501d2320d6081c552cb5df0c4433d (patch)
tree13d2528bbe9cdbd391297ddd150414e576cdaa8e /src/sim/instrDTO.cc
parent5e1d59feaa353e7ea4179fd0c8104fc4450a7a16 (diff)
Keep track of checked out in DTO to simplify wb cond logic (bug)
Diffstat (limited to 'src/sim/instrDTO.cc')
-rw-r--r--src/sim/instrDTO.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/sim/instrDTO.cc b/src/sim/instrDTO.cc
index aa49b7e..a82ef28 100644
--- a/src/sim/instrDTO.cc
+++ b/src/sim/instrDTO.cc
@@ -4,6 +4,7 @@
InstrDTO::InstrDTO()
{
this->instr_bits = 0;
+ this->checked_out = -1;
this->s1 = 0;
this->s2 = 0;
this->s3 = 0;
@@ -12,10 +13,10 @@ InstrDTO::InstrDTO()
this->pc = 0;
}
-int InstrDTO::get_time_of(Accessor a) { return this->hist[a]; }
-
signed int InstrDTO::get_instr_bits() { return this->instr_bits; }
+signed int InstrDTO::get_checked_out() { return this->checked_out; }
+
signed int InstrDTO::get_s1() { return this->s1; }
signed int InstrDTO::get_s2() { return this->s2; }
@@ -28,10 +29,13 @@ Type InstrDTO::get_type() { return this->type; }
unsigned int InstrDTO::get_pc() { return this->pc; }
-void InstrDTO::set_time_of(Accessor a, int i) { this->hist[a] = i; }
-
void InstrDTO::set_instr_bits(signed int instr) { this->instr_bits = instr; }
+void InstrDTO::set_checked_out(signed int checked_out)
+{
+ this->checked_out = checked_out;
+}
+
void InstrDTO::set_s1(signed int s) { this->s1 = s; }
void InstrDTO::set_s2(signed int s) { this->s2 = s; }