commit | 319daaf3d318faa14690483558d24b2d1e018ba8 | [log] [tgz] |
---|---|---|
author | Morten Krogh-Jespersen <mkroghj@google.com> | Thu Jun 04 22:41:12 2020 +0200 |
committer | Morten Krogh-Jespersen <mkroghj@google.com> | Thu Jun 04 22:41:12 2020 +0200 |
tree | eda7509c9f14483e7445766e488b960bb03bba31 | |
parent | d8b3b9a9860024e10dea3b6394cdf1140b22901a [diff] |
Version 2.1.34 Cherry pick: Account for unordered mapped positions in LineNumberOptimizer CL: https://r8-review.googlesource.com/51803 Bug: 157758209 Change-Id: I842dcd3bc9ed01fadd68a93f3127fb6d298c77c6
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java index ea79264..84acd31 100644 --- a/src/main/java/com/android/tools/r8/Version.java +++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@ // This field is accessed from release scripts using simple pattern matching. // Therefore, changing this field could break our release scripts. - public static final String LABEL = "2.1.33"; + public static final String LABEL = "2.1.34"; private Version() { }
diff --git a/src/main/java/com/android/tools/r8/utils/LineNumberOptimizer.java b/src/main/java/com/android/tools/r8/utils/LineNumberOptimizer.java index a785262b..e1572f5 100644 --- a/src/main/java/com/android/tools/r8/utils/LineNumberOptimizer.java +++ b/src/main/java/com/android/tools/r8/utils/LineNumberOptimizer.java
@@ -408,7 +408,14 @@ || !Objects.equals(mp.caller, lastPosition.caller)) { break; } - lastPosition = mp; + // The mapped positions are not guaranteed to be in order, so maintain first and last + // position. + if (firstPosition.obfuscatedLine > mp.obfuscatedLine) { + firstPosition = mp; + } + if (lastPosition.obfuscatedLine < mp.obfuscatedLine) { + lastPosition = mp; + } } Range obfuscatedRange = new Range(firstPosition.obfuscatedLine, lastPosition.obfuscatedLine);