diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2016-10-04 11:22:16 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2016-10-04 11:22:16 +0100 |
commit | 18135ce6abc0ee02e36aef424be183cd7238a558 (patch) | |
tree | d42079cc180d7f385e2efff5594964b6dfc5db39 /src/sim | |
parent | ee7875885783d8b0945d27052bbf1e0a43aca18e (diff) | |
download | gem5-18135ce6abc0ee02e36aef424be183cd7238a558.tar.xz |
sim: Add a checkpoint function to test for entries
When loading a checkpoint, it's sometimes desirable to be able to test
whether an entry within a secion exists. This is currently done
automatically in the UNSERIALIZE_OPT_SCALAR macro, but it isn't
possible to do for arrays, containers, or enums. Instead of adding
even more macros, add a helper function (CheckpointIn::entryExists())
that tests for the presence of an entry.
Change-Id: I4b4646b03276b889fd3916efefff3bd552317dbc
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/serialize.cc | 6 | ||||
-rw-r--r-- | src/sim/serialize.hh | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/sim/serialize.cc b/src/sim/serialize.cc index e55107b79..d2e699c28 100644 --- a/src/sim/serialize.cc +++ b/src/sim/serialize.cc @@ -693,6 +693,12 @@ CheckpointIn::~CheckpointIn() } bool +CheckpointIn::entryExists(const string §ion, const string &entry) +{ + return db->entryExists(section, entry); +} + +bool CheckpointIn::find(const string §ion, const string &entry, string &value) { return db->find(section, entry, value); diff --git a/src/sim/serialize.hh b/src/sim/serialize.hh index 2f0340e4b..4c5e9d79c 100644 --- a/src/sim/serialize.hh +++ b/src/sim/serialize.hh @@ -359,6 +359,8 @@ class CheckpointIn bool findObj(const std::string §ion, const std::string &entry, SimObject *&value); + + bool entryExists(const std::string §ion, const std::string &entry); bool sectionExists(const std::string §ion); // The following static functions have to do with checkpoint |