A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'mc' into mc++
[simgrid.git]
/
src
/
include
/
mc
/
datatypes.h
diff --git
a/src/include/mc/datatypes.h
b/src/include/mc/datatypes.h
index
2d7f1c0
..
2c4f48d
100644
(file)
--- a/
src/include/mc/datatypes.h
+++ b/
src/include/mc/datatypes.h
@@
-1,4
+1,4
@@
-/* Copyright (c) 2008-201
3
. The SimGrid Team.
+/* Copyright (c) 2008-201
4
. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
@@
-6,10
+6,16
@@
#ifndef MC_DATATYPE_H
#define MC_DATATYPE_H
#ifndef MC_DATATYPE_H
#define MC_DATATYPE_H
+
+#define UNW_LOCAL_ONLY
+
#include "xbt/misc.h"
#include "xbt/swag.h"
#include "xbt/fifo.h"
#include "xbt/misc.h"
#include "xbt/swag.h"
#include "xbt/fifo.h"
+#include <libunwind.h>
+#include <dwarf.h>
+
SG_BEGIN_DECL()
/******************************* Transitions **********************************/
SG_BEGIN_DECL()
/******************************* Transitions **********************************/
@@
-37,34
+43,31
@@
typedef struct s_stack_region{
void heap_ignore_region_free(mc_heap_ignore_region_t r);
void heap_ignore_region_free_voidp(void *r);
void heap_ignore_region_free(mc_heap_ignore_region_t r);
void heap_ignore_region_free_voidp(void *r);
+/************ Object info *************/
+
+typedef struct s_mc_object_info s_mc_object_info_t, *mc_object_info_t;
+
/************ DWARF structures *************/
/************ DWARF structures *************/
-typedef enum{
- e_dw_base_type = 0,
- e_dw_enumeration_type,
- e_dw_enumerator,
- e_dw_typedef,
- e_dw_const_type,
- e_dw_array_type,
- e_dw_pointer_type,
- e_dw_structure_type,
- e_dw_union_type,
- e_dw_subroutine_type,
- e_dw_volatile_type
-}e_dw_type_type;
-
-typedef struct s_dw_type{
+typedef int e_dw_type_type;
+
+typedef struct s_dw_type s_dw_type_t, *dw_type_t;
+
+struct s_dw_type{
e_dw_type_type type;
void *id; /* Offset in the section (in hexadecimal form) */
char *name; /* Name of the type */
e_dw_type_type type;
void *id; /* Offset in the section (in hexadecimal form) */
char *name; /* Name of the type */
- int size; /* Sometimes it si the byte size, sometimes it is the number of elements */
+ int byte_size; /* Size in bytes */
+ int element_count; /* Number of elements for array type */
char *dw_type_id; /* DW_AT_type */
char *dw_type_id; /* DW_AT_type */
- xbt_dynar_t members; /* if DW_TAG_structure_type, DW_TAG_union_type*/
+ xbt_dynar_t members; /* if DW_TAG_structure_type, DW_TAG_
class_type, DW_TAG_
union_type*/
int is_pointer_type;
int offset;
int is_pointer_type;
int offset;
-}s_dw_type_t, *dw_type_t;
+ dw_type_t subtype;
+ dw_type_t other_object_same_type; // The same (but more complete) type in the other object.
+};
-char* get_type_description(
xbt_dict_t types
, char *type_name);
+char* get_type_description(
mc_object_info_t info
, char *type_name);
SG_END_DECL()
#endif /* _MC_MC_H */
SG_END_DECL()
#endif /* _MC_MC_H */