Commit 089792fd authored by Andrew Grieve's avatar Andrew Grieve Committed by Commit Bot

Roll R8 e13467c2ce -> 3.0.1-dev

* Adds a flag for disabling -checkdiscard failures
* Contains fix for assertions being removed when code coverage
  is enabled.
* Contains fix needed for vertical class merging

Bug: 1040534
Change-Id: I6e5eb6242a6126fd4293920bff5267149fabbe1b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2489729
Commit-Queue: Sam Maier <smaier@chromium.org>
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: default avatarSam Maier <smaier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#821326}
parent 33093f1d
...@@ -1368,7 +1368,7 @@ deps = { ...@@ -1368,7 +1368,7 @@ deps = {
'packages': [ 'packages': [
{ {
'package': 'chromium/third_party/r8', 'package': 'chromium/third_party/r8',
'version': 'N9LppKV-9lFkp7JQtmcLHhm7xHqFv0SPa6aDPtgNCdwC', 'version': 'cf9Zl4I4n6RqsJezIQ58bLhhVRdmCJ8Pvaemifu2QIIC',
}, },
], ],
'condition': 'checkout_android', 'condition': 'checkout_android',
......
Name: R8 Name: R8
URL: https://r8.googlesource.com/r8 URL: https://r8.googlesource.com/r8
Revision: e13467c2cee237bceaa4d002472ede43d9a116e8 Revision: 3a9986617a11797df59b5d9613d605661a733171
Version: unknown Version: 3.0.1-dev
License: BSD 3-Clause License: BSD 3-Clause
License File: NOT_SHIPPED License File: NOT_SHIPPED
Security Critical: no Security Critical: no
...@@ -41,7 +41,7 @@ tools/gradle.py r8 ...@@ -41,7 +41,7 @@ tools/gradle.py r8
java -jar build/libs/r8.jar --debug --classfile --output r8.jar \ java -jar build/libs/r8.jar --debug --classfile --output r8.jar \
--lib $CHROMIUM_SRC/third_party/jdk/current --pg-conf src/main/keep.txt \ --lib $CHROMIUM_SRC/third_party/jdk/current --pg-conf src/main/keep.txt \
--no-minification --no-desugaring build/libs/r8.jar --no-minification --no-desugaring build/libs/r8.jar
rm $CHROMIUM_SRC/third_party/r8/lib/r8.jar mv $CHROMIUM_SRC/third_party/r8/lib/r8.jar{,.bak}
cp r8.jar $CHROMIUM_SRC/third_party/r8/lib/r8.jar cp r8.jar $CHROMIUM_SRC/third_party/r8/lib/r8.jar
# Create patches if conflicts / new patches. Change number if expecting # Create patches if conflicts / new patches. Change number if expecting
......
From 80fc109ddc6bfd60a980993eb51478c98eea8992 Mon Sep 17 00:00:00 2001 From 6c4560832fd411b70669b2dfcb14bbff98524256 Mon Sep 17 00:00:00 2001
From: Sam Maier <smaier@chromium.org> From: Sam Maier <smaier@chromium.org>
Date: Tue, 19 May 2020 15:55:44 -0400 Date: Tue, 19 May 2020 15:55:44 -0400
Subject: [PATCH 1/3] Desugaring: Make all lambdas stateless & fix naming Subject: [PATCH 1/3] Desugaring: Make all lambdas stateless & fix naming
...@@ -12,10 +12,10 @@ Bug: b/129997269 ...@@ -12,10 +12,10 @@ Bug: b/129997269
1 file changed, 3 insertions(+), 2 deletions(-) 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
index e40e0e48f..1da07cd0e 100644 index c9e47c259..b5b72c0ab 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java --- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java +++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
@@ -128,7 +128,8 @@ public final class LambdaClass { @@ -130,7 +130,8 @@ public final class LambdaClass {
// If the lambda class should match 1:1 the class it is accessed from, we // If the lambda class should match 1:1 the class it is accessed from, we
// just add the name of this type to make lambda class name unique. // just add the name of this type to make lambda class name unique.
// It also helps link the class lambda originated from in some cases. // It also helps link the class lambda originated from in some cases.
...@@ -25,7 +25,7 @@ index e40e0e48f..1da07cd0e 100644 ...@@ -25,7 +25,7 @@ index e40e0e48f..1da07cd0e 100644
lambdaClassDescriptor.append(accessedFrom.getHolderType().getName()).append('$'); lambdaClassDescriptor.append(accessedFrom.getHolderType().getName()).append('$');
} }
@@ -206,7 +207,7 @@ public final class LambdaClass { @@ -209,7 +210,7 @@ public final class LambdaClass {
} }
public final boolean isStateless() { public final boolean isStateless() {
...@@ -35,5 +35,5 @@ index e40e0e48f..1da07cd0e 100644 ...@@ -35,5 +35,5 @@ index e40e0e48f..1da07cd0e 100644
void addSynthesizedFrom(DexProgramClass clazz) { void addSynthesizedFrom(DexProgramClass clazz) {
-- --
2.28.0.297.g1956fa8f8d-goog 2.29.0.rc1.297.gfa9743e501-goog
From a5e85d98d5a0d68cd433c7022f960bd64de87291 Mon Sep 17 00:00:00 2001 From febbe4508395a83f64e6f5e3cd55052fc8e16e8c Mon Sep 17 00:00:00 2001
From: Andrew Grieve <agrieve@chromium.org> From: Andrew Grieve <agrieve@chromium.org>
Date: Fri, 21 Aug 2020 14:56:21 -0400 Date: Mon, 28 Sep 2020 15:51:32 -0400
Subject: [PATCH 2/3] Make class merging and outlining settable via Subject: [PATCH 2/3] Command-line flags for class merging and outlining
command-line
--- ---
.../java/com/android/tools/r8/utils/InternalOptions.java | 8 ++++---- .../java/com/android/tools/r8/utils/InternalOptions.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-) 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 69410dd4d..32a2918eb 100644 index ea902d508..708961316 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java --- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java +++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -217,9 +217,9 @@ public class InternalOptions implements GlobalKeepInfoConfiguration { @@ -234,9 +234,9 @@ public class InternalOptions implements GlobalKeepInfoConfiguration {
public boolean enableFieldAssignmentTracker = true; public boolean enableFieldAssignmentTracker = true;
public boolean enableFieldBitAccessAnalysis = public boolean enableFieldBitAccessAnalysis =
System.getProperty("com.android.tools.r8.fieldBitAccessAnalysis") != null; System.getProperty("com.android.tools.r8.fieldBitAccessAnalysis") != null;
- public boolean enableStaticClassMerging = true; - public boolean enableStaticClassMerging = true;
- public boolean enableHorizontalClassMerging = false; - public boolean enableHorizontalClassMerging = true;
- public boolean enableVerticalClassMerging = true; - public boolean enableVerticalClassMerging = true;
+ public boolean enableStaticClassMerging = System.getProperty("com.android.tools.r8.enableHorizontalClassMerging") != null; + public boolean enableStaticClassMerging = System.getProperty("com.android.tools.r8.staticClassMerging") != null;
+ public boolean enableHorizontalClassMerging = System.getProperty("com.android.tools.r8.enableHorizontalClassMerging") != null; + public boolean enableHorizontalClassMerging = System.getProperty("com.android.tools.r8.horizontalClassMerging") != null;
+ public boolean enableVerticalClassMerging = System.getProperty("com.android.tools.r8.enableVerticalClassMerging") != null; + public boolean enableVerticalClassMerging = System.getProperty("com.android.tools.r8.verticalClassMerging") != null;
public boolean enableArgumentRemoval = true; public boolean enableArgumentRemoval = true;
public boolean enableUnusedInterfaceRemoval = true; public boolean enableUnusedInterfaceRemoval = true;
public boolean enableDevirtualization = true; public boolean enableDevirtualization = true;
@@ -1097,7 +1097,7 @@ public class InternalOptions implements GlobalKeepInfoConfiguration { @@ -1146,7 +1146,7 @@ public class InternalOptions implements GlobalKeepInfoConfiguration {
public static final String CLASS_NAME = "com.android.tools.r8.GeneratedOutlineSupport"; public static final String CLASS_NAME = "com.android.tools.r8.GeneratedOutlineSupport";
public static final String METHOD_PREFIX = "outline"; public static final String METHOD_PREFIX = "outline";
...@@ -35,5 +34,5 @@ index 69410dd4d..32a2918eb 100644 ...@@ -35,5 +34,5 @@ index 69410dd4d..32a2918eb 100644
public int maxSize = 99; public int maxSize = 99;
public int threshold = 20; public int threshold = 20;
-- --
2.28.0.297.g1956fa8f8d-goog 2.29.0.rc1.297.gfa9743e501-goog
From f090e9dbf721e953a0009f95281058fa88637c71 Mon Sep 17 00:00:00 2001 From cac4f22114d62108152db25745a241e84157b2a6 Mon Sep 17 00:00:00 2001
From: Andrew Grieve <agrieve@chromium.org> From: Andrew Grieve <agrieve@chromium.org>
Date: Sun, 31 May 2020 22:09:27 -0400 Date: Wed, 21 Oct 2020 10:59:42 -0400
Subject: [PATCH 3/3] Allow access modification everywhere Subject: [PATCH 3/3] Allow access modification everywhere
Chrome does not need need -keep to maintain original visibility. Chrome does not need need -keep to maintain original visibility.
...@@ -11,10 +11,10 @@ than adding ",allowaccessmodification" to every single -keep rule. ...@@ -11,10 +11,10 @@ than adding ",allowaccessmodification" to every single -keep rule.
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java diff --git a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
index c716da82a..ffd756406 100644 index b54a0db2d..e02a41ce0 100644
--- a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java --- a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
+++ b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java +++ b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
@@ -939,7 +939,7 @@ public class AppInfoWithLiveness extends AppInfoWithClassHierarchy @@ -917,7 +917,7 @@ public class AppInfoWithLiveness extends AppInfoWithClassHierarchy
public boolean isAccessModificationAllowed(DexReference reference) { public boolean isAccessModificationAllowed(DexReference reference) {
assert options().getProguardConfiguration().isAccessModificationAllowed(); assert options().getProguardConfiguration().isAccessModificationAllowed();
...@@ -22,7 +22,7 @@ index c716da82a..ffd756406 100644 ...@@ -22,7 +22,7 @@ index c716da82a..ffd756406 100644
+ return true; + return true;
} }
public boolean isPinned(DexReference reference) { public boolean isRepackagingAllowed(DexProgramClass clazz) {
-- --
2.28.0.297.g1956fa8f8d-goog 2.29.0.rc1.297.gfa9743e501-goog
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment