diff options
Diffstat (limited to 'src/mem/ruby/system/Sequencer.cc')
-rw-r--r-- | src/mem/ruby/system/Sequencer.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc index 1cdd6d806..f00f8407a 100644 --- a/src/mem/ruby/system/Sequencer.cc +++ b/src/mem/ruby/system/Sequencer.cc @@ -530,11 +530,13 @@ Sequencer::hitCallback(SequencerRequest* srequest, // Note: RubyPort will access it's sender state before the // RubyTester. if (m_usingRubyTester) { - RubyPort::SenderState *requestSenderState = + RubyPort::SenderState *reqSenderState = safe_cast<RubyPort::SenderState*>(pkt->senderState); + // @todo This is a dangerous assumption on nothing else + // modifying the senderState RubyTester::SenderState* testerSenderState = - safe_cast<RubyTester::SenderState*>(requestSenderState->saved); - testerSenderState->subBlock->mergeFrom(data); + safe_cast<RubyTester::SenderState*>(reqSenderState->predecessor); + testerSenderState->subBlock.mergeFrom(data); } delete srequest; |