Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Kill src/include
[simgrid.git] / src / mc / remote / RemoteProcess.hpp
index 924aa56..3a6b24e 100644 (file)
@@ -1,6 +1,6 @@
 /* mc::RemoteClient: representative of the Client memory on the MC side */
 
-/* Copyright (c) 2008-2022. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2008-2023. 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. */
@@ -8,8 +8,8 @@
 #ifndef SIMGRID_MC_PROCESS_H
 #define SIMGRID_MC_PROCESS_H
 
-#include "mc/datatypes.h"
 #include "src/mc/AddressSpace.hpp"
+#include "src/mc/datatypes.h"
 #include "src/mc/inspect/ObjectInformation.hpp"
 #include "src/mc/remote/RemotePtr.hpp"
 #include "src/xbt/memory_map.hpp"
@@ -27,8 +27,8 @@ public:
   Remote<kernel::actor::ActorImpl> copy;
 
   /** Hostname (owned by `mc_model_checker->hostnames_`) */
-  const xbt::string* hostname = nullptr;
-  xbt::string name;
+  const std::string* hostname = nullptr;
+  std::string name;
 
   void clear()
   {
@@ -125,6 +125,8 @@ public:
       this->refresh_malloc_info();
     return this->heap_info.data();
   }
+  /* Get the amount of memory mallocated in the remote process (requires mmalloc) */
+  std::size_t get_remote_heap_bytes();
 
   void clear_cache() { this->cache_flags_ = RemoteProcess::cache_none; }
 
@@ -184,13 +186,6 @@ private:
   std::vector<s_stack_region_t> stack_areas_;
   std::vector<IgnoredHeapRegion> ignored_heap_;
 
-  // Copies of MCed SMX data structures
-  /** Copy of `EngineImpl::actor_list_`
-   *
-   *  See mc_smx.cpp.
-   */
-  std::vector<ActorInformation> smx_actors_infos;
-
   /** State of the cache (which variables are up to date) */
   int cache_flags_ = RemoteProcess::cache_none;
 
@@ -209,7 +204,7 @@ public:
    *  This is not used if the process is the current one:
    *  use `get_heap_info()` in order to use it.
    */
-  std::unique_ptr<s_xbt_mheap_t> heap;
+  std::unique_ptr<s_xbt_mheap_t> heap = std::make_unique<s_xbt_mheap_t>();
 
   /** Copy of the allocation info structure
    *