#include <libunwind.h>
#include <libunwind-ptrace.h>
-#include <xbt/dynar.h>
#include <xbt/log.h>
#include <xbt/base.h>
#include <xbt/mmalloc.h>
this->smx_process_infos.clear();
this->smx_old_process_infos.clear();
- this->unw_addr_space = unw_create_addr_space(&mc_unw_accessors , __BYTE_ORDER);
- this->unw_underlying_addr_space = unw_create_addr_space(&mc_unw_vmread_accessors, __BYTE_ORDER);
- this->unw_underlying_context = _UPT_create(this->pid_);
+ this->unw_addr_space = simgrid::mc::UnwindContext::createUnwindAddressSpace();
+ this->unw_underlying_addr_space = simgrid::unw::create_addr_space();
+ this->unw_underlying_context = simgrid::unw::create_context(
+ this->unw_underlying_addr_space, this->pid_);
}
Process::~Process()
*/
void Process::refresh_heap()
{
- xbt_assert(mc_mode == MC_MODE_SERVER);
// Read/dereference/refresh the std_heap pointer:
if (!this->heap)
this->heap = std::unique_ptr<s_xbt_mheap_t>(new s_xbt_mheap_t());
* */
void Process::refresh_malloc_info()
{
- xbt_assert(mc_mode == MC_MODE_SERVER);
// Refresh process->heapinfo:
if (this->cache_flags_ & Process::cache_malloc)
return;
std::vector<simgrid::mc::SimixProcessInformation>& Process::simix_processes()
{
- xbt_assert(mc_mode != MC_MODE_CLIENT);
this->refresh_simix();
return smx_process_infos;
}
std::vector<simgrid::mc::SimixProcessInformation>& Process::old_simix_processes()
{
- xbt_assert(mc_mode != MC_MODE_CLIENT);
this->refresh_simix();
return smx_old_process_infos;
}