Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
7 years ago[mc] Store abstract subprograms in info->subprograms
Gabriel Corona [Thu, 20 Mar 2014 10:49:52 +0000 (11:49 +0100)]
[mc] Store abstract subprograms in info->subprograms

We will use them in order to resolve DW_AT_specification references.

7 years ago[mc] Add support for inheritance
Gabriel Corona [Tue, 4 Mar 2014 09:12:26 +0000 (10:12 +0100)]
[mc] Add support for inheritance

DW_TAG_inheritance relations are stored with DW_TAG_member and handled
by the same logic but are flaged as DW_TAG_inheritance.

7 years ago[mc] Fix documentation of the field 'full_type'
Gabriel Corona [Thu, 20 Mar 2014 08:33:31 +0000 (09:33 +0100)]
[mc] Fix documentation of the field 'full_type'

The field 'other_object_same_type' was changed into 'full_type' but
the description of the field was not changed accordingly.

7 years ago[mc] Fix compile_warnings
Gabriel Corona [Tue, 18 Mar 2014 15:47:14 +0000 (16:47 +0100)]
[mc] Fix compile_warnings

7 years ago[mc] Use reference to types intead of type IDs
Gabriel Corona [Tue, 18 Mar 2014 14:51:51 +0000 (15:51 +0100)]
[mc] Use reference to types intead of type IDs

We do not need to pass the type ID+object_info everywhere.
It is much simpler to pass a pointer to the type (dw_type_t):

 * remove 'info', 'other_info' parameters;

 * remove cumbersome 'switch_types' logic (code duplication);

 * remove type ID confusion in mm_diff (the type ID of each block was
   stored but not the originating ELF obejct leading to an ambiguity);

 * the code is now generalisable to more than 2 ELF objects;

 * remove type lookups (by name, by ID) which are all resolved at
   initialisation time.

7 years ago[mc] Fix type name handling
Gabriel Corona [Tue, 18 Mar 2014 13:40:20 +0000 (14:40 +0100)]
[mc] Fix type name handling

 * use a suitable prefix for type names (struct/class/union);

 * rename "types_by_name" into "full_types_by_name" to be more
   descriptive.

7 years ago[mc] Fix mismatch between expected snapshot address and passed process address
Gabriel Corona [Tue, 18 Mar 2014 11:51:30 +0000 (12:51 +0100)]
[mc] Fix mismatch between expected snapshot address and passed process address

Function 'compare_areas_with_type' expects snapshot addresses but was
passed process/real addresses in a recursive call.

It is very easy to mix the two types of addresses :/

7 years ago[mc] Add location field in struct/class-members
Gabriel Corona [Mon, 10 Mar 2014 13:11:30 +0000 (14:11 +0100)]
[mc] Add location field in struct/class-members

Store location expression for fields when its location expression is
more complex than a simple offset.

7 years ago[mc] Pass arguments everywhere in the state comparator code
Gabriel Corona [Mon, 10 Mar 2014 12:53:28 +0000 (13:53 +0100)]
[mc] Pass arguments everywhere in the state comparator code

A reference to the snapshot will be needed to resolve complexe
locations.

7 years ago[mc] Remove useless code in MC_unwind_stack_frame
Gabriel Corona [Mon, 10 Mar 2014 09:47:15 +0000 (10:47 +0100)]
[mc] Remove useless code in MC_unwind_stack_frame

7 years ago[mc] DW_OP_deref
Gabriel Corona [Mon, 10 Mar 2014 09:24:26 +0000 (10:24 +0100)]
[mc] DW_OP_deref

This is used when using C++ inheritance.

7 years ago[mc] Remove old code (mc_location_t)
Gabriel Corona [Fri, 7 Mar 2014 13:48:01 +0000 (14:48 +0100)]
[mc] Remove old code (mc_location_t)

7 years ago[mc] Use new expression evaluation code frame_base
Gabriel Corona [Fri, 7 Mar 2014 13:07:36 +0000 (14:07 +0100)]
[mc] Use new expression evaluation code frame_base

7 years ago[mc] Implement DW_OP_call_frame_cfa using libunwind
Gabriel Corona [Fri, 7 Mar 2014 11:49:47 +0000 (12:49 +0100)]
[mc] Implement DW_OP_call_frame_cfa using libunwind

This is used by DWARF4 for DW_AT_frame_base.

We need to implement this in order to use the new DWARf expression
code for DW_AT_frame_base resolution (used in DWARF4
libpthread_nonshared.a).

7 years ago[mc] Use new DWARF expression code for variables
Gabriel Corona [Fri, 7 Mar 2014 10:29:07 +0000 (11:29 +0100)]
[mc] Use new DWARF expression code for variables

7 years ago[mc] Partial implementation of DWARF expression evaluator
Gabriel Corona [Thu, 6 Mar 2014 14:06:56 +0000 (15:06 +0100)]
[mc] Partial implementation of DWARF expression evaluator

In order to resolve complexe location expressions of (C++ object)
inheritance relationships, it is necessary to implement a real DWARF
expression stack machine.

7 years agoMerge branch 'mc' into mc++
Gabriel Corona [Thu, 6 Mar 2014 12:29:59 +0000 (13:29 +0100)]
Merge branch 'mc' into mc++

7 years ago[mc] Fix bug when trying to handle DW_OP_regN in MC_dwarf_resolve_location
Gabriel Corona [Thu, 6 Mar 2014 12:25:38 +0000 (13:25 +0100)]
[mc] Fix bug when trying to handle DW_OP_regN in MC_dwarf_resolve_location

MC_dwarf_resolve_location is supposed to return the *address* of a
given variable. However, the DW_OP_regN returned the value of the
register and not an address address of a variable with its content.

It should be possible to get such an addresse (the registers are saved
on the stack) but the feature does not seem to be implemented in
libunwind.

7 years ago[mc] Support DWARF4 DW_FORM_sec_offset (found in libpthread_nonshared.a)
Gabriel Corona [Thu, 6 Mar 2014 12:07:19 +0000 (13:07 +0100)]
[mc] Support DWARF4 DW_FORM_sec_offset (found in libpthread_nonshared.a)

Add support to DWARF4 DW_FORM_sec_offset in order to handle DWARF4
libpthread_nonshared.a.

We do not yet handle DWARF3 and 4 but only DWARF2. It is not a big
problem as it is possible to ask GCC to generate DWARF2 with:
-gdwarf-2.

However, even with this option, some static/non-shared libraries might
be included such as libpthread_nonshared.a which might be compiled
with DWARF4 information. This happen in Debian testing (2014-03-06).

   Dwarf_Attribute attr;
   dwarf_attr_integrate(child, DW_AT_data_member_location, &attr);
-  int form  = dwarf_whatform(&attr);
+  int form = dwarf_whatform(&attr);
   int klass = MC_dwarf_form_get_class(form);
   switch (klass) {
   case MC_DW_CLASS_EXPRLOC:
@@ -850,7 +850,8 @@ static dw_variable_t MC_die_to_variable(mc_object_info_t info, Dwarf_Die* die, D
   variable->name = xbt_strdup(MC_dwarf_attr_string(die, DW_AT_name));
   variable->type_origin = MC_dwarf_at_type(die);

-  int klass = MC_dwarf_form_get_class(dwarf_whatform(&attr_location));
+  int form = dwarf_whatform(&attr_location);
+  int klass = form == DW_FORM_sec_offset ? MC_DW_CLASS_CONSTANT : MC_dwarf_form_get_class(form);
   switch (klass) {
   case MC_DW_CLASS_EXPRLOC:
   case MC_DW_CLASS_BLOCK:
@@ -882,8 +883,8 @@ static dw_variable_t MC_die_to_variable(mc_object_info_t info, Dwarf_Die* die, D
     variable->location = MC_dwarf_get_location_list(info, die, &attr_location);
     break;
   default:
-    xbt_die("Unexpected calss 0x%x (%i) list for location in <%p>%s",
-      klass, klass, (void*) variable->dwarf_offset, variable->name);
+    xbt_die("Unexpected form 0x%x (%i), class 0x%x (%i) list for location in <%p>%s",
+      form, form, klass, klass, (void*) variable->dwarf_offset, variable->name);
   }

   // The current code needs a variable name,

7 years ago[mc] Add support for DW_TAG_unspecified_type (nullptr_t in C++11)
Gabriel Corona [Mon, 3 Mar 2014 14:59:15 +0000 (15:59 +0100)]
[mc] Add support for DW_TAG_unspecified_type (nullptr_t in C++11)

7 years ago[mc] Bring back old code for MPI_Finalize (disabled)
Gabriel Corona [Mon, 3 Mar 2014 12:30:45 +0000 (13:30 +0100)]
[mc] Bring back old code for MPI_Finalize (disabled)

Some test (probenull) do not terminate with the new code of
MPI_Finalize.

7 years agoMerge branch 'mc++' into mc-merge
Gabriel Corona [Fri, 28 Feb 2014 08:33:45 +0000 (09:33 +0100)]
Merge branch 'mc++' into mc-merge

7 years ago[mc] Fix broken tests with surf++ (because simcall number have changed)
Gabriel Corona [Mon, 24 Feb 2014 09:10:56 +0000 (10:10 +0100)]
[mc] Fix broken tests with surf++ (because simcall number have changed)

 * do not print the simcall numbers as they are not stable;

 * remove them from test expected output of tests.

7 years ago[mc] Log some information for the prefiltering phase of state comparator
Gabriel Corona [Tue, 25 Feb 2014 14:42:10 +0000 (15:42 +0100)]
[mc] Log some information for the prefiltering phase of state comparator

7 years ago[mc] Handle DW_TAG_class_type as DW_TAG_structure_type (C++)
Gabriel Corona [Tue, 25 Feb 2014 12:21:12 +0000 (13:21 +0100)]
[mc] Handle DW_TAG_class_type as DW_TAG_structure_type (C++)

7 years agoMerge branch 'mc' into mc++
Gabriel Corona [Tue, 25 Feb 2014 12:09:35 +0000 (13:09 +0100)]
Merge branch 'mc' into mc++

7 years agoMerge bugfix from branch mc-refactor
Gabriel Corona [Tue, 25 Feb 2014 11:49:58 +0000 (12:49 +0100)]
Merge bugfix from branch mc-refactor

Conflicts:
src/xbt/mmalloc/mm_diff.c

7 years agoMerge branches 'mc'
Gabriel Corona [Tue, 25 Feb 2014 11:47:47 +0000 (12:47 +0100)]
Merge branches 'mc'

7 years ago[mc] Fix format strings
Gabriel Corona [Tue, 25 Feb 2014 11:47:17 +0000 (12:47 +0100)]
[mc] Fix format strings

7 years agoMerge bugfix
Gabriel Corona [Tue, 25 Feb 2014 11:38:24 +0000 (12:38 +0100)]
Merge bugfix

7 years ago[mc] Fix buf introduces by previous commit
Gabriel Corona [Tue, 25 Feb 2014 11:36:26 +0000 (12:36 +0100)]
[mc] Fix buf introduces by previous commit

Comparing a size with a DIE tag.

7 years ago[mc] Handle reference_type and rvalue_reference_type as pointer_type (C++)
Gabriel Corona [Tue, 25 Feb 2014 11:32:34 +0000 (12:32 +0100)]
[mc] Handle reference_type and rvalue_reference_type as pointer_type (C++)

7 years ago[mc] Skip declaration of data_members (C++)
Gabriel Corona [Tue, 25 Feb 2014 10:03:38 +0000 (11:03 +0100)]
[mc] Skip declaration of data_members (C++)

Skip declaration in in header:

    struct foo {
     [...]
     static int bar
    }

We are interested in (.cpp):

   int foo:bar = 42;

7 years ago[mc] Skip variables/members which are compile time constants
Gabriel Corona [Tue, 25 Feb 2014 09:51:50 +0000 (10:51 +0100)]
[mc] Skip variables/members which are compile time constants

The current code expect location for each variable/member and it is
missing for constants.

7 years ago[mc] Fix typos
Gabriel Corona [Tue, 25 Feb 2014 09:36:35 +0000 (10:36 +0100)]
[mc] Fix typos

A dwarg is a mix of a dwarf and a warg?

7 years ago[mc] Handle DW_AT_start_scope (for constants)
Gabriel Corona [Tue, 25 Feb 2014 09:16:28 +0000 (10:16 +0100)]
[mc] Handle DW_AT_start_scope (for constants)

7 years ago[mc] Handle DW_TAG_namespace (C++)
Gabriel Corona [Tue, 25 Feb 2014 08:55:45 +0000 (09:55 +0100)]
[mc] Handle DW_TAG_namespace (C++)

7 years agomodel-checker : smpi examples for the communication pattern detection
Marion Guthmuller [Mon, 24 Feb 2014 17:44:02 +0000 (18:44 +0100)]
model-checker : smpi examples for the communication pattern detection

7 years agomodel-checker : print comm pattern
Marion Guthmuller [Mon, 24 Feb 2014 17:40:20 +0000 (18:40 +0100)]
model-checker : print comm pattern

7 years agomodel-checker : use separate configuration flags for comm determinism and send determ...
Marion Guthmuller [Mon, 24 Feb 2014 17:39:18 +0000 (18:39 +0100)]
model-checker : use separate configuration flags for comm determinism and send determinism detection

7 years agomodel-checker : check if action not NULL before using it
Marion Guthmuller [Mon, 24 Feb 2014 16:03:37 +0000 (17:03 +0100)]
model-checker : check if action not NULL before using it

7 years ago[mc] Basic namespace support (for types)
Gabriel Corona [Mon, 24 Feb 2014 14:11:40 +0000 (15:11 +0100)]
[mc] Basic namespace support (for types)

7 years ago[mc] Do not use linkage_name as a name
Gabriel Corona [Mon, 24 Feb 2014 13:00:00 +0000 (14:00 +0100)]
[mc] Do not use linkage_name as a name

If needed, it would be better to use a separate field.

7 years ago[mc] Add MC_dwarf_tag_classify()
Gabriel Corona [Mon, 24 Feb 2014 12:54:45 +0000 (13:54 +0100)]
[mc] Add MC_dwarf_tag_classify()

Add MC_dwarf_tag_classify(tag) which regroupe different similar
DW_TAG_* items classes. This is in preparation for upcoming
modifications of the DIE handling code.

7 years ago[mc] Do not try to handle scopes inside a subprogram
Gabriel Corona [Mon, 24 Feb 2014 12:22:10 +0000 (13:22 +0100)]
[mc] Do not try to handle scopes inside a subprogram

The variables of a subprogram scopes were merged in the information
about subprogram without any information on its range of validity (for
which range of IP the variable is valid).

As this handling of scopes was broken, this commit ignore the scopes within a
subprogram.

We need to:

  * either add frame_t as child of frame_t to represent scope;

  * or attach validity information on each variables

    This one is needed anyway in order to handle DW_AT_start_scope.

  * or both.

    Use frame_t for DW_TAG_inlined_subprogram and validity range for
    real scope.

-    if(dwarf_offdie(dwarf, offset+length, &die)!=NULL) {
-      MC_dwarf_handle_die(info, &die, &die, NULL);
+    if(dwarf_offdie(dwarf, offset+length, &unit_die)!=NULL) {
+      Dwarf_Die child;
+      int res;
+      for (res=dwarf_child(&unit_die, &child); res==0; res=dwarf_siblingof(&child,&child)) {
+        MC_dwarf_handle_die(info, &child, &unit_die, NULL);
+      }
     }
     offset = next_offset;
   }

7 years ago[mc] Use dynar instead of dict for storing functions
Gabriel Corona [Mon, 24 Feb 2014 11:03:24 +0000 (12:03 +0100)]
[mc] Use dynar instead of dict for storing functions

Multiple instances of the same function with the same name can be
found in a given program:

  * different local static functions;
  * same inline functions;
  * overloads (C++);
  * ...

7 years ago[mc] Move MC_ignore_local_variable and MC_ignore_global_variable to initialisation...
Gabriel Corona [Mon, 24 Feb 2014 09:51:16 +0000 (10:51 +0100)]
[mc] Move MC_ignore_local_variable and MC_ignore_global_variable to initialisation code

7 years ago[mc] Add missing DW_FORM_data1 (enable C++ support)
Gabriel Corona [Mon, 24 Feb 2014 09:35:01 +0000 (10:35 +0100)]
[mc] Add missing DW_FORM_data1 (enable C++ support)

For some reason DW_FORM_data1 was only used in C++ compile units.

7 years agoMerge 'master' into mc
Gabriel Corona [Mon, 24 Feb 2014 09:04:38 +0000 (10:04 +0100)]
Merge 'master' into mc

Conflicts:
src/mc/mc_checkpoint.c
src/mc/mc_global.c
src/mc/mc_private.h

7 years agoMerge branch 'mc-perf' into mc
Gabriel Corona [Mon, 24 Feb 2014 08:27:07 +0000 (09:27 +0100)]
Merge branch 'mc-perf' into mc

7 years agoFix compilation
Gabriel Corona [Mon, 24 Feb 2014 08:27:01 +0000 (09:27 +0100)]
Fix compilation

7 years agoUse the full jar here.
Arnaud Giersch [Fri, 21 Feb 2014 16:24:46 +0000 (17:24 +0100)]
Use the full jar here.

7 years agoAdd an option to control whether native libraries are bundled into jar file.
Arnaud Giersch [Fri, 21 Feb 2014 14:44:49 +0000 (15:44 +0100)]
Add an option to control whether native libraries are bundled into jar file.

May be usefull for e.g. Debian packages.

7 years agoIsolate generation of the NATIVE path for the jar file.
Arnaud Giersch [Wed, 27 Nov 2013 15:37:49 +0000 (16:37 +0100)]
Isolate generation of the NATIVE path for the jar file.

Now it can be obtained by running:
    java -classpath simgrid.jar org.simgrid.msg.NativeLib

Use it also when finalizing the jar file.

7 years agodistcheck again.
Arnaud Giersch [Fri, 21 Feb 2014 15:58:59 +0000 (16:58 +0100)]
distcheck again.

7 years agoCosmetics.
Arnaud Giersch [Fri, 21 Feb 2014 15:05:09 +0000 (16:05 +0100)]
Cosmetics.

7 years agoDisk usage computation bug fix
Pierre Veyre [Fri, 21 Feb 2014 15:16:46 +0000 (16:16 +0100)]
Disk usage computation bug fix

7 years ago[mc] Avoid resolving TLS over and over again
Gabriel Corona [Fri, 21 Feb 2014 14:21:41 +0000 (15:21 +0100)]
[mc] Avoid resolving TLS over and over again

7 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Fri, 21 Feb 2014 13:46:17 +0000 (14:46 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

7 years agoMSG_file_write() bug fix + tesh files improvements
Pierre Veyre [Fri, 21 Feb 2014 13:45:52 +0000 (14:45 +0100)]
MSG_file_write() bug fix + tesh files improvements

7 years agoUpdate changelog and news v3_11_beta
Paul Bédaride [Fri, 21 Feb 2014 12:44:40 +0000 (13:44 +0100)]
Update changelog and news

7 years agoClean surf
Paul Bédaride [Fri, 21 Feb 2014 12:44:15 +0000 (13:44 +0100)]
Clean surf

7 years agoAdd script to generate multi-platform jar
Paul Bédaride [Fri, 21 Feb 2014 10:41:00 +0000 (11:41 +0100)]
Add script to generate multi-platform jar

7 years agoMake check_dist_archive accept the newly created .gitversion.
Arnaud Giersch [Fri, 21 Feb 2014 09:31:29 +0000 (10:31 +0100)]
Make check_dist_archive accept the newly created .gitversion.

7 years agoChangelog update
Augustin Degomme [Fri, 21 Feb 2014 09:43:41 +0000 (10:43 +0100)]
Changelog update

7 years agothis was not needed anymore
Augustin Degomme [Fri, 21 Feb 2014 09:42:58 +0000 (10:42 +0100)]
this was not needed anymore

7 years agoAdd .gitversion to dist
Paul Bédaride [Fri, 21 Feb 2014 09:26:46 +0000 (10:26 +0100)]
Add .gitversion to dist

7 years ago[mc] Merge add_compared_pointers and already_compared_pointers into add_compared_pointers
Gabriel Corona [Fri, 21 Feb 2014 09:04:09 +0000 (10:04 +0100)]
[mc] Merge add_compared_pointers and already_compared_pointers into add_compared_pointers

Avoid doing the binary search twice.

7 years agoFix warnings with make simgrid_documentation.
Arnaud Giersch [Thu, 20 Feb 2014 14:26:15 +0000 (15:26 +0100)]
Fix warnings with make simgrid_documentation.

7 years agoFIX: forget to update filename in DefinePackage.cmake
Paul Bédaride [Thu, 20 Feb 2014 15:23:35 +0000 (16:23 +0100)]
FIX: forget to update filename in DefinePackage.cmake

7 years agoAdd SG version and Git version in MANIFEST.MF
Paul Bédaride [Thu, 20 Feb 2014 15:14:42 +0000 (16:14 +0100)]
Add SG version and Git version in MANIFEST.MF

7 years agoFix MSG_storage_get_proporties() bug
Pierre Veyre [Thu, 20 Feb 2014 14:04:55 +0000 (15:04 +0100)]
Fix MSG_storage_get_proporties() bug

7 years ago[mc] Avoid (slow) type lookups by name or ID (xbt_dict_get_or_null)
Gabriel Corona [Thu, 20 Feb 2014 11:26:24 +0000 (12:26 +0100)]
[mc] Avoid (slow) type lookups by name or ID (xbt_dict_get_or_null)

7 years ago[mc] Move mc_find_frame_base in mc_dwarf.c where it belongs
Gabriel Corona [Thu, 20 Feb 2014 10:56:22 +0000 (11:56 +0100)]
[mc] Move mc_find_frame_base in mc_dwarf.c where it belongs

7 years ago[mc] Use resolved addresses in entry.low_pc and entry.high_pc
Gabriel Corona [Thu, 20 Feb 2014 10:54:46 +0000 (11:54 +0100)]
[mc] Use resolved addresses in entry.low_pc and entry.high_pc

7 years ago[mc] Use resolved addresses in frame->low_pc and frame->high_pc
Gabriel Corona [Thu, 20 Feb 2014 10:41:03 +0000 (11:41 +0100)]
[mc] Use resolved addresses in frame->low_pc and frame->high_pc

7 years agoMissing commit for introduce model specific properties for storage_type
Pierre Veyre [Thu, 20 Feb 2014 09:21:05 +0000 (10:21 +0100)]
Missing commit for introduce model specific properties for storage_type

7 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Thu, 20 Feb 2014 09:05:29 +0000 (10:05 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

7 years agoIntroduce model specific properties for storage_type
Pierre Veyre [Thu, 20 Feb 2014 09:04:49 +0000 (10:04 +0100)]
Introduce model specific properties for storage_type

7 years agoCleanup.
Arnaud Giersch [Wed, 19 Feb 2014 14:41:11 +0000 (15:41 +0100)]
Cleanup.

7 years agoUpdate changelog
Paul Bédaride [Wed, 19 Feb 2014 10:18:40 +0000 (11:18 +0100)]
Update changelog

7 years agoFix normalize-pointers script
Paul Bédaride [Wed, 19 Feb 2014 10:18:21 +0000 (11:18 +0100)]
Fix normalize-pointers script

7 years agoInform user when model-checking has been disabled because of HAVE_MMALLOC.
Arnaud Giersch [Tue, 18 Feb 2014 17:15:43 +0000 (18:15 +0100)]
Inform user when model-checking has been disabled because of HAVE_MMALLOC.

Also use HAVE_MC instead on enable_model-checking in cmake's final report.

7 years agoFix some overflows in msg_vm on 32bits archs.
Arnaud Giersch [Tue, 18 Feb 2014 16:13:03 +0000 (17:13 +0100)]
Fix some overflows in msg_vm on 32bits archs.

7 years agoReindent function.
Arnaud Giersch [Tue, 18 Feb 2014 16:22:28 +0000 (17:22 +0100)]
Reindent function.

7 years ago[mc] Do not waste time calling libunwind get_proc_name in the hot spots
Gabriel Corona [Tue, 18 Feb 2014 10:38:14 +0000 (11:38 +0100)]
[mc] Do not waste time calling libunwind get_proc_name in the hot spots

In typical executions, nearly 50% of the time was spent in libunwind
get_proc_name.

The algorithm to find the function for a given IP (instruction
pointer) was:

  (proc_name, offset) = get_proc_name(ip) // Slow!
  dwarf_ip = ip - offset
  function = functions_by_name[proc_name]

We added a structure mapping IP ranges to functions and the algorithm
is now:

  function = functions_by_ip[ip]

Instead of relying on libunwind, we use the DWARF information to find
the corresponding DWARF TAG_subprogram DIEs directly.

The secution time on some MPICH tests is nearly halved.

Notes:

 * It was necessary to disable the support for inlined_subprograms
   which was broken anyway: the inlined_subprogram entries should be
   stored as children of their parent subprogram (as a block). We need
   to add support for scope blocks inside a suprogram to handle this
   correctly.

 * Currently the translation between process virtual addresses and
   DWARF virtual addresses is handled in many different places. We
   should change this to process it only when parsing the DWARF DIEs
   and be done with it.

7 years agomodel-checker : conflit
Marion Guthmuller [Tue, 18 Feb 2014 14:41:16 +0000 (15:41 +0100)]
model-checker : conflit

7 years agomodel-checker : minor fix
Marion Guthmuller [Tue, 18 Feb 2014 14:33:43 +0000 (15:33 +0100)]
model-checker : minor fix

7 years agomodel-checker : new configuration flag for the detection of determinism in communicat...
Marion Guthmuller [Tue, 18 Feb 2014 14:33:13 +0000 (15:33 +0100)]
model-checker : new configuration flag for the detection of determinism in communications schemes

7 years agomodel-checker : remove or comment some printf
Marion Guthmuller [Tue, 18 Feb 2014 14:02:56 +0000 (15:02 +0100)]
model-checker : remove or comment some printf

7 years agomodel-checker : fix comm destroy for send detached and MC enabled
Marion Guthmuller [Tue, 18 Feb 2014 13:46:55 +0000 (14:46 +0100)]
model-checker : fix comm destroy for send detached and MC enabled

7 years agomodel-checker : try to fix the model-checker in case of send detached
Marion Guthmuller [Tue, 18 Feb 2014 13:44:13 +0000 (14:44 +0100)]
model-checker : try to fix the model-checker in case of send detached

7 years agoRemove obsolete comment.
Arnaud Giersch [Mon, 17 Feb 2014 09:55:22 +0000 (10:55 +0100)]
Remove obsolete comment.

7 years agoRemove useless length modifier 'l' in %l[efg] for printf.
Arnaud Giersch [Fri, 14 Feb 2014 15:37:47 +0000 (16:37 +0100)]
Remove useless length modifier 'l' in %l[efg] for printf.

It's indeed wrong in C90, and useless in C99.

7 years agoFill java-cloud-migration tesh file
Paul Bédaride [Tue, 18 Feb 2014 13:39:44 +0000 (14:39 +0100)]
Fill java-cloud-migration tesh file

7 years agomodel-checker : wait with timeout is always dependant with another transition
Marion Guthmuller [Tue, 18 Feb 2014 13:26:28 +0000 (14:26 +0100)]
model-checker : wait with timeout is always dependant with another transition

7 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Paul Bédaride [Tue, 18 Feb 2014 13:26:13 +0000 (14:26 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

7 years agofix debug log
Marion Guthmuller [Tue, 18 Feb 2014 13:19:01 +0000 (14:19 +0100)]
fix debug log

7 years agoFix java cloud migration test - Adrien
alebre [Tue, 18 Feb 2014 13:17:49 +0000 (14:17 +0100)]
Fix java cloud migration test - Adrien

7 years agomodel-checker : use MC_assert instead of assert for the verification of mpich3 integr...
Marion Guthmuller [Tue, 18 Feb 2014 13:16:27 +0000 (14:16 +0100)]
model-checker : use MC_assert instead of assert for the verification of mpich3 integrated tests