diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2012-04-12 08:35:49 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2012-04-12 08:35:49 -0400 |
commit | c9634d9b38e5d58a8b68af5f26c257886d791518 (patch) | |
tree | c3687d14ad34bfc6bbb21999f7c85921dd26bd31 /src/mem/slicc | |
parent | 15ca4f2fc7c81bb3ade68cbff7d58bd01aa00d33 (diff) | |
download | gem5-c9634d9b38e5d58a8b68af5f26c257886d791518.tar.xz |
Ruby: Ensure order-dependent iteration uses an ordered map
This patch fixes a bug in Ruby that caused non-deterministic
simulation when changing the underlying hash map implementation. The
reason is order-dependent behaviour in combination with iteration over
the hash map contents. The two locations where a sorted container is
assumed are now changed to make use of a std::map instead of the
unordered hash map.
With this change, the stats changes slightly and the follow-on
changeset will update the relevant statistics.
Diffstat (limited to 'src/mem/slicc')
-rw-r--r-- | src/mem/slicc/symbols/StateMachine.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py index 7d863e349..a9886b229 100644 --- a/src/mem/slicc/symbols/StateMachine.py +++ b/src/mem/slicc/symbols/StateMachine.py @@ -324,7 +324,7 @@ MachineID m_machineID; bool m_is_blocking; std::map<Address, MessageBuffer*> m_block_map; typedef std::vector<MessageBuffer*> MsgVecType; -typedef m5::hash_map< Address, MsgVecType* > WaitingBufType; +typedef std::map< Address, MsgVecType* > WaitingBufType; WaitingBufType m_waiting_buffers; int m_max_in_port_rank; int m_cur_in_port_rank; |