summaryrefslogtreecommitdiff
path: root/src/stage.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/stage.cc')
-rw-r--r--src/stage.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/stage.cc b/src/stage.cc
index ac688d8..4eab7d3 100644
--- a/src/stage.cc
+++ b/src/stage.cc
@@ -59,10 +59,15 @@ InstrDTO *Stage::advance(Response p)
this->status = READY;
}
- n = (p != READY || this->status != READY) ? STALLED : READY;
+ if (!this->curr_instr)
+ n = READY;
+ else
+ n = (p != READY || this->status != READY) ? STALLED : READY;
+
s = this->next->advance(n);
- if (s)
+ if (s) {
this->curr_instr = s;
+ }
return r;
}