diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/sim/id.cc | 3 | ||||
-rw-r--r-- | src/sim/if.cc | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/sim/id.cc b/src/sim/id.cc index e18ef14..da7b55c 100644 --- a/src/sim/id.cc +++ b/src/sim/id.cc @@ -22,7 +22,8 @@ Response ID::advance(InstrDTO &next_instr, Response p) n = (p != OK || this->status != OK) ? BLOCKED : OK; // the power of consent - n = this->next->advance(curr_instr, n); + n = this->next->advance(*curr_instr, n); + return this->status; } void ID::get_instr_fields( diff --git a/src/sim/if.cc b/src/sim/if.cc index 7d3291b..3d53ad3 100644 --- a/src/sim/if.cc +++ b/src/sim/if.cc @@ -28,7 +28,7 @@ void IF::advance_helper() r = this->storage->read_word(this->id, this->pc, bits); if (r == OK) { this->status = r; - this->curr_instr = std::make_unique<InstrDTO>(); + this->curr_instr = new InstrDTO(); this->curr_instr->set_instr_bits(bits); } else this->status = STALLED; |