X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d9966aa66acc63c0417fbeae8e3ff12bccb0cdb0..c2525c3b833fd682882943fe047f2d77e1bae5e8:/src/kernel/lmm/maxmin.cpp diff --git a/src/kernel/lmm/maxmin.cpp b/src/kernel/lmm/maxmin.cpp index b9c5b41bee..aace67e8f7 100644 --- a/src/kernel/lmm/maxmin.cpp +++ b/src/kernel/lmm/maxmin.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -150,7 +150,6 @@ System::System(bool selective_update) : selective_update_active(selective_update XBT_DEBUG("Setting selective_update_active flag to %d", selective_update_active); - keep_track = nullptr; variable_mallocator = xbt_mallocator_new(65536, System::variable_mallocator_new_f, System::variable_mallocator_free_f, nullptr); solve_fun = &lmm_solve; @@ -171,6 +170,7 @@ System::~System() cnst_free(cnst); xbt_mallocator_free(variable_mallocator); + delete modified_set_; } void System::cnst_free(Constraint* cnst) @@ -412,7 +412,7 @@ static inline void saturated_constraints_update(double usage, int cnst_light_num } static inline void saturated_variable_set_update(ConstraintLight* cnst_light_tab, - const dyn_light_t& saturated_constraints, lmm_system_t sys) + const dyn_light_t& saturated_constraints, System* sys) { /* Add active variables (i.e. variables that need to be set) from the set of constraints to saturate * (cnst_light_tab)*/ @@ -536,8 +536,8 @@ template void System::solve(CnstList& cnst_list) elem.make_active(); simgrid::kernel::resource::Action* action = static_cast(elem.variable->id); - if (keep_track && not action->isLinkedModifiedSet()) - keep_track->push_back(*action); + if (modified_set_ && not action->isLinkedModifiedSet()) + modified_set_->push_back(*action); } } XBT_DEBUG("Constraint '%d' usage: %f remaining: %f concurrency: %i<=%i<=%i", cnst.id_int, cnst.usage, @@ -690,7 +690,7 @@ template void System::solve(CnstList& cnst_list) delete[] cnst_light_tab; } -void lmm_solve(lmm_system_t sys) +void lmm_solve(System* sys) { sys->solve(); } @@ -817,12 +817,12 @@ void System::on_disabled_var(Constraint* cnstr) if (not numelem) return; - lmm_element_t elem = &cnstr->disabled_element_set.front(); + Element* elem = &cnstr->disabled_element_set.front(); // Cannot use foreach loop, because System::enable_var() will modify disabled_element_set.. within the loop while (numelem-- && elem) { - lmm_element_t nextelem; + Element* nextelem; if (elem->disabled_element_set_hook.is_linked()) { auto iter = std::next(cnstr->disabled_element_set.iterator_to(*elem)); nextelem = iter != std::end(cnstr->disabled_element_set) ? &*iter : nullptr;