summaryrefslogtreecommitdiffstats
path: root/compiler/compiled_method.h
diff options
context:
space:
mode:
authorYevgeny Rouban <yevgeny.y.rouban@intel.com>2014-09-16 11:29:26 +0700
committerYevgeny Rouban <yevgeny.y.rouban@intel.com>2014-09-16 12:43:23 +0000
commit1127b127b688c754585cd1c07ede486a0869d0c6 (patch)
tree543a7cc9161f3d8e05840bdffc67bfd9dc782bfd /compiler/compiled_method.h
parented6839d7df3c668fa138c461cd657bcb32a43a7f (diff)
downloadart-1127b127b688c754585cd1c07ede486a0869d0c6.tar.gz
art-1127b127b688c754585cd1c07ede486a0869d0c6.tar.bz2
art-1127b127b688c754585cd1c07ede486a0869d0c6.zip
ART: fix highest PC values removal in SrcMap.DeltaFormat()
The conversion from absolute to offset Line Number Table values mistakenly removed all values less than the highest one, which resulted in clearing all the table. The fix is to use the reverse condition finding the highest correct PC value in the sorted table. Change-Id: I9850c2c46c1910b809043dd8163eb930a7849ded Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
Diffstat (limited to 'compiler/compiled_method.h')
-rw-r--r--compiler/compiled_method.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/compiled_method.h b/compiler/compiled_method.h
index 3e3414483..cc46b92dc 100644
--- a/compiler/compiled_method.h
+++ b/compiler/compiled_method.h
@@ -154,7 +154,7 @@ class SrcMap FINAL : public std::vector<SrcMapElem> {
// get rid of the highest values
size_t i = size() - 1;
for (; i > 0 ; i--) {
- if ((*this)[i].from_ >= highest_pc) {
+ if ((*this)[i].from_ < highest_pc) {
break;
}
}