diff options
Diffstat (limited to 'src/sim/stage.cc')
-rw-r--r-- | src/sim/stage.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/sim/stage.cc b/src/sim/stage.cc index 5b81e4c..11eb822 100644 --- a/src/sim/stage.cc +++ b/src/sim/stage.cc @@ -34,8 +34,9 @@ InstrDTO *Stage::advance(Response p) InstrDTO *r = nullptr; Response n; - this->advance_helper(); - if (this->curr_instr != nullptr && p == OK) { + if (this->curr_instr && this->status != OK) + this->advance_helper(); + if (this->curr_instr && p == OK) { // mutual consent this->curr_instr->set_time_of(this->id, this->clock_cycle); r = new InstrDTO(*this->curr_instr); |