Merge ktlim@zizzer.eecs.umich.edu:/bk/m5

into zamp.eecs.umich.edu:/z/ktlim2/m5

--HG--
extra : convert_revision : 8f25703b016c391217a7daae5f395bd942d589ef
This commit is contained in:
Kevin Lim
2005-03-15 17:26:14 -05:00
2 changed files with 29 additions and 9 deletions

View File

@@ -61,14 +61,29 @@ namespace Stats {
//
// SimObject constructor: used to maintain static simObjectList
//
SimObject::SimObject(const string &_name)
: objName(_name)
SimObject::SimObject(Params *p)
: _params(p)
{
#ifdef DEBUG
doDebugBreak = false;
#endif
doRecordEvent = !Stats::event_ignore.match(_name);
doRecordEvent = !Stats::event_ignore.match(name());
simObjectList.push_back(this);
}
//
// SimObject constructor: used to maintain static simObjectList
//
SimObject::SimObject(const string &_name)
: _params(new Params)
{
_params->name = _name;
#ifdef DEBUG
doDebugBreak = false;
#endif
doRecordEvent = !Stats::event_ignore.match(name());
simObjectList.push_back(this);
}

View File

@@ -48,8 +48,16 @@
*/
class SimObject : public Serializable, protected StartupCallback
{
public:
struct Params {
std::string name;
};
protected:
std::string objName;
Params *_params;
public:
const Params *params() const { return _params; }
private:
friend class Serializer;
@@ -60,15 +68,12 @@ class SimObject : public Serializable, protected StartupCallback
static SimObjectList simObjectList;
public:
// for Params struct
#include "simobj/param/SimObject.hh"
SimObject(Params *_params);
SimObject(const std::string &_name);
virtual ~SimObject() {}
virtual const std::string name() const { return objName; }
virtual const std::string name() const { return params()->name; }
// initialization pass of all objects.
// Gets invoked after construction, before unserialize.