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 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git]
/
src
/
mc
/
ObjectInformation.cpp
diff --git
a/src/mc/ObjectInformation.cpp
b/src/mc/ObjectInformation.cpp
index
942cbad
..
6418c0a
100644
(file)
--- a/
src/mc/ObjectInformation.cpp
+++ b/
src/mc/ObjectInformation.cpp
@@
-1,3
+1,9
@@
+/* Copyright (c) 2014-2015. 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. */
+
#include "src/mc/Frame.hpp"
#include "src/mc/ObjectInformation.hpp"
#include "src/mc/Variable.hpp"
#include "src/mc/Frame.hpp"
#include "src/mc/ObjectInformation.hpp"
#include "src/mc/Variable.hpp"
@@
-78,7
+84,7
@@
simgrid::mc::Frame* ObjectInformation::find_function(const void *ip) const
* Either we have found the correct function or we do not know
* any function corresponding to this instruction address.
* Only at the point do we derefernce the function pointer. */
* Either we have found the correct function or we do not know
* any function corresponding to this instruction address.
* Only at the point do we derefernce the function pointer. */
- else if (
ip < base[k].function->high_pc
)
+ else if (
(std::uint64_t) ip < base[k].function->range.end()
)
return base[k].function;
else
return nullptr;
return base[k].function;
else
return nullptr;
@@
-102,32
+108,35
@@
void ObjectInformation::remove_global_variable(const char* name)
return;
// Binary search:
return;
// Binary search:
- size_type
star
t = 0;
- size_type
end
= this->global_variables.size() - 1;
+ size_type
firs
t = 0;
+ size_type
last
= this->global_variables.size() - 1;
- while (
start <= end
) {
- size_type cursor =
start + (end - star
t) / 2;
+ while (
first <= last
) {
+ size_type cursor =
first + (last - firs
t) / 2;
simgrid::mc::Variable& current_var = this->global_variables[cursor];
int cmp = current_var.name.compare(name);
if (cmp == 0) {
simgrid::mc::Variable& current_var = this->global_variables[cursor];
int cmp = current_var.name.compare(name);
if (cmp == 0) {
+
// Find the whole range:
// Find the whole range:
- s
tar
t = cursor;
- while (
start != 0 && this->global_variables[star
t - 1].name == name)
-
star
t--;
+ s
ize_type firs
t = cursor;
+ while (
first != 0 && this->global_variables[firs
t - 1].name == name)
+
firs
t--;
size_type size = this->global_variables.size();
size_type size = this->global_variables.size();
- end = cursor;
- while (end != size - 1 && this->global_variables[end + 1].name == name)
- end++;
+ size_type last = cursor;
+ while (last != size - 1 && this->global_variables[last + 1].name == name)
+ last++;
+
// Remove the whole range:
this->global_variables.erase(
// Remove the whole range:
this->global_variables.erase(
- this->global_variables.begin() + cursor,
- this->global_variables.begin() + end + 1);
+ this->global_variables.begin() + first,
+ this->global_variables.begin() + last + 1);
+
return;
} else if (cmp < 0)
return;
} else if (cmp < 0)
-
star
t = cursor + 1;
+
firs
t = cursor + 1;
else if (cursor != 0)
else if (cursor != 0)
-
end
= cursor - 1;
+
last
= cursor - 1;
else
break;
}
else
break;
}