Commit 1762aeef authored by Andrew Grieve's avatar Andrew Grieve Committed by Commit Bot

Android: Roll R8 2.2.4-dev -> e13467c2cee

Not much change in R8 here, but it picks up a fix needed
to safely enable class merging in the presence of APK splits.

Bug: 1040534

Change-Id: I935bcdd0395a8d3bacc960c04bb779d1f06b11cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2368471Reviewed-by: default avatarSam Maier <smaier@chromium.org>
Commit-Queue: Sam Maier <smaier@chromium.org>
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#801019}
parent dc9b4ed1
......@@ -1351,7 +1351,7 @@ deps = {
'packages': [
{
'package': 'chromium/third_party/r8',
'version': 'vvymFSkKtWKWNmfz0PL_0H8MD8V40P--A9aUfxfpF6QC',
'version': 'N9LppKV-9lFkp7JQtmcLHhm7xHqFv0SPa6aDPtgNCdwC',
},
],
'condition': 'checkout_android',
......
Name: R8
URL: https://r8.googlesource.com/r8
Revision: 924f28bdb1f32b7504d6813ee911ba1949be6130
Version: 2.2.4-dev
Revision: e13467c2cee237bceaa4d002472ede43d9a116e8
Version: unknown
License: BSD 3-Clause
License File: NOT_SHIPPED
Security Critical: no
......@@ -26,7 +26,13 @@ Update Instructions:
# Download R8:
git clone https://r8.googlesource.com/r8
cd r8
# Find latest tag:
git fetch origin --tags
git tag -l # Often unnecessary as output from the fetch includes recent tags.
git checkout $TAG # e.g. 2.2.9-dev
# Apply patches:
git checkout -b my_branch
git am $CHROMIUM_SRC/third_party/r8/patches/*.patch
# Build:
tools/gradle.py r8
......@@ -48,7 +54,3 @@ cipd create --pkg-def cipd.yaml # Make note of the instance ID
# Manually update:
* README.chromium (version number via "java -cp lib/r8.jar com.android.tools.r8.R8 --version")
* //DEPS (instance ID output by cipd create)
# To create a new patch:
* Make commits to the r8 repro
* Run: git format-patch $R8_REVISION_BEFORE_PATCHES
From 63bbf489cc29c153936a486d5e7eb382fc340ab0 Mon Sep 17 00:00:00 2001
From 80fc109ddc6bfd60a980993eb51478c98eea8992 Mon Sep 17 00:00:00 2001
From: Sam Maier <smaier@chromium.org>
Date: Tue, 19 May 2020 15:55:44 -0400
Subject: [PATCH 1/3] Desugaring: Make all lambdas stateless & fix naming
......@@ -12,7 +12,7 @@ Bug: b/129997269
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
index d203a1296..395836efa 100644
index e40e0e48f..1da07cd0e 100644
--- a/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 {
......@@ -35,5 +35,5 @@ index d203a1296..395836efa 100644
void addSynthesizedFrom(DexProgramClass clazz) {
--
2.27.0.212.ge8ba1cc988-goog
2.28.0.297.g1956fa8f8d-goog
From 17b9115f5b074b3ed4869fadc90314ebb705bd25 Mon Sep 17 00:00:00 2001
From: Sam Maier <smaier@chromium.org>
Date: Tue, 19 May 2020 16:24:11 -0400
From a5e85d98d5a0d68cd433c7022f960bd64de87291 Mon Sep 17 00:00:00 2001
From: Andrew Grieve <agrieve@chromium.org>
Date: Fri, 21 Aug 2020 14:56:21 -0400
Subject: [PATCH 2/3] Make class merging and outlining settable via
command-line
---
.../java/com/android/tools/r8/utils/InternalOptions.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
.../java/com/android/tools/r8/utils/InternalOptions.java | 8 ++++----
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
index f7353d93a..b6b35d326 100644
index 69410dd4d..32a2918eb 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -217,8 +217,8 @@ public class InternalOptions implements GlobalKeepInfoConfiguration {
@@ -217,9 +217,9 @@ public class InternalOptions implements GlobalKeepInfoConfiguration {
public boolean enableFieldAssignmentTracker = true;
public boolean enableFieldBitAccessAnalysis =
System.getProperty("com.android.tools.r8.fieldBitAccessAnalysis") != null;
- public boolean enableHorizontalClassMerging = true;
- public boolean enableStaticClassMerging = true;
- public boolean enableHorizontalClassMerging = false;
- public boolean enableVerticalClassMerging = true;
+ public boolean enableStaticClassMerging = System.getProperty("com.android.tools.r8.enableHorizontalClassMerging") != null;
+ public boolean enableHorizontalClassMerging = System.getProperty("com.android.tools.r8.enableHorizontalClassMerging") != null;
+ public boolean enableVerticalClassMerging = System.getProperty("com.android.tools.r8.enableVerticalClassMerging") != null;
public boolean enableArgumentRemoval = true;
public boolean enableUnusedInterfaceRemoval = true;
public boolean enableDevirtualization = true;
@@ -1067,7 +1067,7 @@ public class InternalOptions implements GlobalKeepInfoConfiguration {
@@ -1097,7 +1097,7 @@ public class InternalOptions implements GlobalKeepInfoConfiguration {
public static final String CLASS_NAME = "com.android.tools.r8.GeneratedOutlineSupport";
public static final String METHOD_PREFIX = "outline";
......@@ -33,5 +35,5 @@ index f7353d93a..b6b35d326 100644
public int maxSize = 99;
public int threshold = 20;
--
2.27.0.212.ge8ba1cc988-goog
2.28.0.297.g1956fa8f8d-goog
From 44c33ec97d36034c0b8a85b66cc91ae87a382a11 Mon Sep 17 00:00:00 2001
From f090e9dbf721e953a0009f95281058fa88637c71 Mon Sep 17 00:00:00 2001
From: Andrew Grieve <agrieve@chromium.org>
Date: Sun, 31 May 2020 22:09:27 -0400
Subject: [PATCH 3/3] Allow access modification everywhere
......@@ -11,10 +11,10 @@ than adding ",allowaccessmodification" to every single -keep rule.
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
index d3afad2e6..ab50f4c83 100644
index c716da82a..ffd756406 100644
--- a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
+++ b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
@@ -924,7 +924,7 @@ public class AppInfoWithLiveness extends AppInfoWithClassHierarchy
@@ -939,7 +939,7 @@ public class AppInfoWithLiveness extends AppInfoWithClassHierarchy
public boolean isAccessModificationAllowed(DexReference reference) {
assert options().getProguardConfiguration().isAccessModificationAllowed();
......@@ -24,5 +24,5 @@ index d3afad2e6..ab50f4c83 100644
public boolean isPinned(DexReference reference) {
--
2.27.0.212.ge8ba1cc988-goog
2.28.0.297.g1956fa8f8d-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