Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Make SIMCALL_MUTEX_TRYLOCK visible and forbid usage of MUTEX operations with...
[simgrid.git] / src / mc / Frame.hpp
1 /* Copyright (c) 2007-2015. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef SIMGRID_MC_FRAME_HPP
8 #define SIMGRID_MC_FRAME_HPP
9
10 #include <string>
11
12 #include "mc_forward.h"
13 #include "mc_location.h"
14 #include "mc/Variable.hpp"
15 #include "mc/Frame.hpp"
16
17 namespace simgrid {
18 namespace mc {
19
20 class Frame {
21 public:
22   Frame();
23
24   int tag;
25   std::string name;
26   void *low_pc;
27   void *high_pc;
28   simgrid::mc::LocationList frame_base;
29   std::vector<Variable> variables;
30   unsigned long int id; /* DWARF offset of the subprogram */
31   std::vector<Frame> scopes;
32   unsigned long int abstract_origin_id;
33   simgrid::mc::ObjectInformation* object_info;
34 };
35
36 inline
37 Frame::Frame()
38 {
39   this->tag = 0;
40   this->low_pc = nullptr;
41   this->high_pc = nullptr;
42   this->id = 0;
43   this->abstract_origin_id = 0;
44   this->object_info = nullptr;
45 }
46
47 }
48 }
49
50 #endif