changeset 5a9a639ce16f in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=5a9a639ce16f
description:
debug: fix help output
diffstat:
src/base/debug.cc | 4 ++--
src/base/debug.hh | 16 ++++++++--------
src/python/m5/debug.py | 28 ++++++++++++++++++++--------
3 files changed, 30 insertions(+), 18 deletions(-)
diffs (115 lines):
diff -r 3f49ed206f46 -r 5a9a639ce16f src/base/debug.cc
--- a/src/base/debug.cc Mon May 02 12:40:32 2011 -0700
+++ b/src/base/debug.cc Wed May 04 10:08:08 2011 -0400
@@ -101,14 +101,14 @@
CompoundFlag::enable()
{
SimpleFlag::enable();
- for_each(flags.begin(), flags.end(), mem_fun(&Flag::enable));
+ for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::enable));
}
void
CompoundFlag::disable()
{
SimpleFlag::disable();
- for_each(flags.begin(), flags.end(), mem_fun(&Flag::disable));
+ for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::disable));
}
struct AllFlags : public Flag
diff -r 3f49ed206f46 -r 5a9a639ce16f src/base/debug.hh
--- a/src/base/debug.hh Mon May 02 12:40:32 2011 -0700
+++ b/src/base/debug.hh Wed May 04 10:08:08 2011 -0400
@@ -44,6 +44,7 @@
protected:
const char *_name;
const char *_desc;
+ std::vector<Flag *> _kids;
public:
Flag(const char *name, const char *desc);
@@ -51,6 +52,7 @@
std::string name() const { return _name; }
std::string desc() const { return _desc; }
+ std::vector<Flag *> kids() { return _kids; }
virtual void enable() = 0;
virtual void disable() = 0;
@@ -77,7 +79,12 @@
class CompoundFlag : public SimpleFlag
{
protected:
- std::vector<Flag *> flags;
+ void
+ addFlag(Flag &f)
+ {
+ if (&f != NULL)
+ _kids.push_back(&f);
+ }
public:
CompoundFlag(const char *name, const char *desc,
@@ -99,13 +106,6 @@
addFlag(f15); addFlag(f16); addFlag(f17); addFlag(f18); addFlag(f19);
}
- void
- addFlag(Flag &f)
- {
- if (&f != NULL)
- flags.push_back(&f);
- }
-
void enable();
void disable();
};
diff -r 3f49ed206f46 -r 5a9a639ce16f src/python/m5/debug.py
--- a/src/python/m5/debug.py Mon May 02 12:40:32 2011 -0700
+++ b/src/python/m5/debug.py Wed May 04 10:08:08 2011 -0400
@@ -26,24 +26,36 @@
#
# Authors: Nathan Binkert
+from UserDict import DictMixin
+
import internal
+from internal.debug import SimpleFlag, CompoundFlag
from internal.debug import schedBreakCycle, setRemoteGDBPort
+from m5.util import printList
def help():
print "Base Flags:"
- for flag in flags.basic:
- print " %s: %s" % (flag, flags.descriptions[flag])
+ for name in sorted(flags):
+ if name == 'All':
+ continue
+ flag = flags[name]
+ children = [c for c in flag.kids() ]
+ if not children:
+ print " %s: %s" % (name, flag.desc())
print
print "Compound Flags:"
- for flag in flags.compound:
- if flag == 'All':
+ for name in sorted(flags):
+ if name == 'All':
continue
- print " %s: %s" % (flag, flags.descriptions[flag])
- util.printList(flags.compoundMap[flag], indent=8)
- print
+ flag = flags[name]
+ children = [c for c in flag.kids() ]
+ if children:
+ print " %s: %s" % (name, flag.desc())
+ printList([ c.name() for c in children ], indent=8)
+ print
-class AllFlags(object):
+class AllFlags(DictMixin):
def __init__(self):
self._version = -1
self._dict = {}
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev