Change order of serialization
sim/sim_object.cc: serialize objects in the reverse order of their creation. This causes a SimObject that is dependent on another to be serialized first. For example, the ethernet device writes back some data to physical memory while serializing, so this will cause the physical memory to be serialized after that, preserving the data written back. --HG-- extra : convert_revision : f9a37b63ce777df1cfecefa80f94f8fc69e42448
This commit is contained in:
parent
610081079c
commit
e067bc751b
1 changed files with 4 additions and 4 deletions
|
@ -182,11 +182,11 @@ SimObject::printAllExtraOutput(ostream &os)
|
|||
void
|
||||
SimObject::serializeAll(ostream &os)
|
||||
{
|
||||
SimObjectList::iterator i = simObjectList.begin();
|
||||
SimObjectList::iterator end = simObjectList.end();
|
||||
SimObjectList::reverse_iterator ri = simObjectList.rbegin();
|
||||
SimObjectList::reverse_iterator rend = simObjectList.rend();
|
||||
|
||||
for (; i != end; ++i) {
|
||||
SimObject *obj = *i;
|
||||
for (; ri != rend; ++ri) {
|
||||
SimObject *obj = *ri;
|
||||
obj->nameOut(os);
|
||||
obj->serialize(os);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue