#ifdef STATISTICS
/*
 * $Id: OOO_Engine_statistics_allocation.cpp 88 2008-12-10 18:31:39Z rosiere $
 *
 * [ Description ]
 * 
 */

#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/OOO_Engine.h"

namespace morpheo {
namespace behavioural {
namespace core {
namespace multi_ooo_engine {
namespace ooo_engine {


#undef  FUNCTION
#define FUNCTION "OOO_Engine::statistics_allocation"
  void OOO_Engine::statistics_allocation (morpheo::behavioural::Parameters_Statistics * param_statistics)
  {
    log_begin(OOO_Engine,FUNCTION);

    _stat = new Stat (static_cast<std::string>(_name),
		      "OOO_Engine",
		      param_statistics);

    for (uint32_t i=0; i<_param->_nb_rename_unit; i++)
      _stat->add_stat(_component_rename_unit [i]->_stat);
    _stat->add_stat(_component_commit_unit          ->_stat);
    _stat->add_stat(_component_issue_queue          ->_stat);
    _stat->add_stat(_component_reexecute_unit       ->_stat);   
    _stat->add_stat(_component_special_register_unit->_stat);
    _stat->add_stat(_component_glue                 ->_stat);
    
    log_end(OOO_Engine,FUNCTION);
  };

}; // end namespace ooo_engine
}; // end namespace multi_ooo_engine
}; // end namespace core

}; // end namespace behavioural
}; // end namespace morpheo              
#endif
