Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
prefer automatic memory management
authorMartin Quinson <martin.quinson@loria.fr>
Mon, 9 Jul 2018 14:26:22 +0000 (16:26 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Mon, 9 Jul 2018 21:56:39 +0000 (23:56 +0200)
src/kernel/resource/Resource.cpp
src/surf/cpu_interface.cpp
src/surf/cpu_ti.cpp
src/surf/network_interface.cpp
src/surf/surf_c_bindings.cpp
src/surf/surf_interface.cpp
src/surf/trace_mgr.hpp

index bcab6db..816ae08 100644 (file)
@@ -67,7 +67,7 @@ void Resource::set_state_trace(tmgr_trace_t trace)
 {
   xbt_assert(state_event_ == nullptr, "Cannot set a second state trace to %s", get_cname());
 
 {
   xbt_assert(state_event_ == nullptr, "Cannot set a second state trace to %s", get_cname());
 
-  state_event_ = future_evt_set->add_trace(trace, this);
+  state_event_ = future_evt_set.add_trace(trace, this);
 }
 
 kernel::lmm::Constraint* Resource::get_constraint() const
 }
 
 kernel::lmm::Constraint* Resource::get_constraint() const
index 68cb4f2..c4ef192 100644 (file)
@@ -138,7 +138,7 @@ void Cpu::set_speed_trace(tmgr_trace_t trace)
 {
   xbt_assert(speed_.event == nullptr, "Cannot set a second speed trace to Host %s", host_->get_cname());
 
 {
   xbt_assert(speed_.event == nullptr, "Cannot set a second speed trace to Host %s", host_->get_cname());
 
-  speed_.event = future_evt_set->add_trace(trace, this);
+  speed_.event = future_evt_set.add_trace(trace, this);
 }
 
 
 }
 
 
index 837212d..d1d7d74 100644 (file)
@@ -376,7 +376,7 @@ 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);
   }
 }
 
   }
 }
 
index 056d773..abf0801 100644 (file)
@@ -148,13 +148,13 @@ void LinkImpl::on_bandwidth_change()
 void LinkImpl::set_bandwidth_trace(tmgr_trace_t trace)
 {
   xbt_assert(bandwidth_.event == nullptr, "Cannot set a second bandwidth trace to Link %s", get_cname());
 void LinkImpl::set_bandwidth_trace(tmgr_trace_t trace)
 {
   xbt_assert(bandwidth_.event == nullptr, "Cannot set a second bandwidth trace to Link %s", get_cname());
-  bandwidth_.event = future_evt_set->add_trace(trace, this);
+  bandwidth_.event = future_evt_set.add_trace(trace, this);
 }
 
 void LinkImpl::set_latency_trace(tmgr_trace_t trace)
 {
   xbt_assert(latency_.event == nullptr, "Cannot set a second latency trace to Link %s", get_cname());
 }
 
 void LinkImpl::set_latency_trace(tmgr_trace_t trace)
 {
   xbt_assert(latency_.event == nullptr, "Cannot set a second latency trace to Link %s", get_cname());
-  latency_.event = future_evt_set->add_trace(trace, this);
+  latency_.event = future_evt_set.add_trace(trace, this);
 }
 
 /**********
 }
 
 /**********
index 62bf2e2..f818a6b 100644 (file)
@@ -26,11 +26,11 @@ void surf_presolve()
   simgrid::kernel::resource::Resource* resource = nullptr;
 
   XBT_DEBUG ("Consume all trace events occurring before the starting time.");
   simgrid::kernel::resource::Resource* resource = nullptr;
 
   XBT_DEBUG ("Consume all trace events occurring before the starting time.");
-  while ((next_event_date = future_evt_set->next_date()) != -1.0) {
+  while ((next_event_date = future_evt_set.next_date()) != -1.0) {
     if (next_event_date > NOW)
       break;
 
     if (next_event_date > NOW)
       break;
 
-    while ((event = future_evt_set->pop_leq(next_event_date, &value, &resource))) {
+    while ((event = future_evt_set.pop_leq(next_event_date, &value, &resource))) {
       if (value >= 0)
         resource->apply_event(event, value);
     }
       if (value >= 0)
         resource->apply_event(event, value);
     }
@@ -82,7 +82,7 @@ double surf_solve(double max_date)
   XBT_DEBUG("Looking for next trace event");
 
   while (1) { // Handle next occurring events until none remains
   XBT_DEBUG("Looking for next trace event");
 
   while (1) { // Handle next occurring events until none remains
-    double next_event_date = future_evt_set->next_date();
+    double next_event_date = future_evt_set.next_date();
     XBT_DEBUG("Next TRACE event: %f", next_event_date);
 
     if (not surf_network_model->next_occuring_event_is_idempotent()) { // NS3, I see you
     XBT_DEBUG("Next TRACE event: %f", next_event_date);
 
     if (not surf_network_model->next_occuring_event_is_idempotent()) { // NS3, I see you
@@ -109,7 +109,7 @@ double surf_solve(double max_date)
 
     XBT_DEBUG("Updating models (min = %g, NOW = %g, next_event_date = %g)", time_delta, NOW, next_event_date);
 
 
     XBT_DEBUG("Updating models (min = %g, NOW = %g, next_event_date = %g)", time_delta, NOW, next_event_date);
 
-    while ((event = future_evt_set->pop_leq(next_event_date, &value, &resource))) {
+    while ((event = future_evt_set.pop_leq(next_event_date, &value, &resource))) {
       if (resource->is_used() || (watched_hosts.find(resource->get_cname()) != watched_hosts.end())) {
         time_delta = next_event_date - NOW;
         XBT_DEBUG("This event invalidates the next_occuring_event() computation of models. Next event set to %f", time_delta);
       if (resource->is_used() || (watched_hosts.find(resource->get_cname()) != watched_hosts.end())) {
         time_delta = next_event_date - NOW;
         XBT_DEBUG("This event invalidates the next_occuring_event() computation of models. Next event set to %f", time_delta);
index dcf8e7f..61081b2 100644 (file)
@@ -29,7 +29,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_kernel, surf, "Logging specific to SURF (ke
 
 std::vector<simgrid::kernel::resource::Model*> all_existing_models; /* to destroy models correctly */
 
 
 std::vector<simgrid::kernel::resource::Model*> all_existing_models; /* to destroy models correctly */
 
-simgrid::trace_mgr::future_evt_set *future_evt_set = nullptr;
+simgrid::trace_mgr::future_evt_set future_evt_set;
 std::vector<std::string> surf_path;
 std::vector<simgrid::s4u::Host*> host_that_restart;
 /**  set of hosts for which one want to be notified if they ever restart. */
 std::vector<std::string> surf_path;
 std::vector<simgrid::s4u::Host*> host_that_restart;
 /**  set of hosts for which one want to be notified if they ever restart. */
@@ -296,8 +296,6 @@ void surf_init(int *argc, char **argv)
   USER_HOST_LEVEL = simgrid::s4u::Host::extension_create(nullptr);
 
   xbt_init(argc, argv);
   USER_HOST_LEVEL = simgrid::s4u::Host::extension_create(nullptr);
 
   xbt_init(argc, argv);
-  if (not future_evt_set)
-    future_evt_set = new simgrid::trace_mgr::future_evt_set();
 
   sg_config_init(argc, argv);
 
 
   sg_config_init(argc, argv);
 
@@ -320,9 +318,6 @@ void surf_exit()
 
   xbt_free(surf_plugin_description);
 
 
   xbt_free(surf_plugin_description);
 
-  delete future_evt_set;
-  future_evt_set = nullptr;
-
   tmgr_finalize();
   sg_platf_exit();
 
   tmgr_finalize();
   sg_platf_exit();
 
index b1456be..5d74fdf 100644 (file)
@@ -28,7 +28,7 @@ public:
 } // namespace kernel
 } // namespace simgrid
 typedef simgrid::kernel::resource::TraceEvent* tmgr_trace_event_t;
 } // namespace kernel
 } // namespace simgrid
 typedef simgrid::kernel::resource::TraceEvent* tmgr_trace_event_t;
-extern XBT_PRIVATE simgrid::trace_mgr::future_evt_set* future_evt_set;
+extern XBT_PRIVATE simgrid::trace_mgr::future_evt_set future_evt_set;
 
 /**
  * \brief Free a trace event structure
 
 /**
  * \brief Free a trace event structure