Commit 56b97938 authored by Andrew Grieve's avatar Andrew Grieve Committed by Commit Bot

Android: Mark vertical class merging as a broken optimization

This allows the optimization to be enabled when using custom
proguard versions. With our current version of ProGuard (5.2.1),
it can cause VerifyErrors at runtime (see PS1 trybot failures).

Note that when the pass is enabled, I'm seeing:

Shrinks monochrome_apk dex by 53kb uncompressed, 17kb compressed.
Shrinks method_count by 1400.

Bug: 620323, 825995
Change-Id: I08146a8a84d4f466ed91834728914aa116bca7a5
Reviewed-on: https://chromium-review.googlesource.com/986532Reviewed-by: default avatarJohn Budorick <jbudorick@chromium.org>
Reviewed-by: default avatarEric Stevenson <estevenson@chromium.org>
Commit-Queue: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550959}
parent c038460e
......@@ -48,9 +48,8 @@
# 5 | 1:56 | 5770504 | 486432
-optimizationpasses 3
# Class merging messes up stacktraces beyond the point of them being
# deobfuscatable. If turned on, it would give us a 2% reduction in .dex size.
-optimizations !class/merging/*
# Horizontal class merging marginally increases dex size (as of Mar 2018).
-optimizations !class/merging/horizontal
# Allowing Proguard to change modifiers. This change shrinks the .dex size by
# ~1%, and reduces the method count by ~4%.
......
......@@ -13,6 +13,8 @@ from util import proguard_util
_DANGEROUS_OPTIMIZATIONS = [
# See crbug.com/825995 (can cause VerifyErrors)
"class/merging/vertical",
"class/unboxing/enum",
# See crbug.com/625992
"code/allocation/variable",
......
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