Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
prefer automatic memory management
[simgrid.git] / src / surf / cpu_ti.cpp
index 2448cef..d1d7d74 100644 (file)
@@ -304,7 +304,7 @@ void CpuTiModel::create_pm_vm_models()
 
 CpuTiModel::CpuTiModel() : CpuModel(Model::UpdateAlgo::FULL)
 {
 
 CpuTiModel::CpuTiModel() : CpuModel(Model::UpdateAlgo::FULL)
 {
-  all_existing_models->push_back(this);
+  all_existing_models.push_back(this);
 }
 
 CpuTiModel::~CpuTiModel()
 }
 
 CpuTiModel::~CpuTiModel()
@@ -376,28 +376,24 @@ void CpuTi::set_speed_trace(tmgr_trace_t trace)
   if (trace && trace->event_list.size() > 1) {
     trace_mgr::DatedValue val = trace->event_list.back();
     if (val.date_ < 1e-12)
   if (trace && trace->event_list.size() > 1) {
     trace_mgr::DatedValue val = trace->event_list.back();
     if (val.date_ < 1e-12)
-      speed_.event = future_evt_set->add_trace(new simgrid::trace_mgr::trace(), this);
+      speed_.event = future_evt_set.add_trace(new simgrid::trace_mgr::trace(), this);
   }
 }
 
 void CpuTi::apply_event(tmgr_trace_event_t event, double value)
 {
   if (event == speed_.event) {
   }
 }
 
 void CpuTi::apply_event(tmgr_trace_event_t event, double value)
 {
   if (event == speed_.event) {
-    XBT_DEBUG("Finish trace date: value %f", value);
+    XBT_DEBUG("Speed changed in trace! New fixed value: %f", value);
+
     /* update remaining of actions and put in modified cpu list */
     update_remaining_amount(surf_get_clock());
 
     set_modified(true);
 
     /* update remaining of actions and put in modified cpu list */
     update_remaining_amount(surf_get_clock());
 
     set_modified(true);
 
-    trace_mgr::DatedValue val = speed_integrated_trace_->speed_trace_->event_list.back();
     delete speed_integrated_trace_;
     delete speed_integrated_trace_;
-    speed_.scale = val.value_;
-
-    CpuTiTmgr* trace = new CpuTiTmgr(val.value_);
-    XBT_DEBUG("New fixed value: %f", val.value_);
-
-    speed_integrated_trace_ = trace;
+    speed_integrated_trace_ = new CpuTiTmgr(value);
 
 
+    speed_.scale = value;
     tmgr_trace_event_unref(&speed_.event);
 
   } else if (event == state_event_) {
     tmgr_trace_event_unref(&speed_.event);
 
   } else if (event == state_event_) {