New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 857079 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jun 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Disabling d8 assertion removal pass added 16kb of dex

Project Member Reported by agrieve@chromium.org, Jun 27 2018

Issue description

We had expected that ProGuard removed all assertions already, so this is probably worth a bit of investigation.

Commit for the d8 change: 70ed356560528473397935e192d7f293a84c0fee
There was a bug in our build code, so actual diff is from the next commit: d83565ccb3c0860f3d42fcfc9d8cd9c9a9772772

Here's the output of: tools/binary_size/diagnose_bloat.py d83565c  --cloud

Showing 3,492 symbols (3,490 -> 3,492 unique) with total pss: 15250 bytes
Histogram of symbols based on PSS:
    (-512,-256]: 1   (-64,-32]: 8    (-8,-4]: 121   [1,2): 167     [8,16): 932      [64,128): 1
    (-256,-128]: 3   (-32,-16]: 35   (-4,-2]: 346   [2,4): 1305   [16,32): 29    [1024,2048): 1
     (-128,-64]: 4    (-16,-8]: 48   (-2,-1]: 15    [4,8): 473    [32,64): 3
.text=0 bytes    .rodata=0 bytes    .data.rel.ro=0 bytes    .data=0 bytes    .bss=0 bytes    .dex=1520 bytes .dex.method=13.5kb     .pak.translations=0 bytes    .pak.nontranslated=0 bytes    .other=-110 bytes total=14.9kb
Number of unique paths: 1423

Section Legend: t=.text, r=.rodata, R=.data.rel.ro, d=.data, b=.bss, x=.dex, m=.dex.method, p=.pak.translations, P=.pak.nontranslated, o=.other
Index | Running Total | Section@Address | Δ PSS (Δ size_without_padding) | Path
------------------------------------------------------------
~ 0)       1520 (10.0%) x@0x0        1520 (33852->35372) {no path}
               * Unattributed Dex
~ 1)       1205 (7.9%)  m@0x0        -315 (2399->2084)  third_party/android_deps/com_android_support_recyclerview_v7_java/classes.jar
               RecyclerView#<init>
~ 2)       1019 (6.7%)  m@0x0        -186 (1070->884)   chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java
               DecoderService$1#decodeImage
~ 3)        845 (5.5%)  m@0x0        -174 (1672->1498)  chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java
               TabListSceneLayer#pushLayers$5c35a67c
~ 4)        698 (4.6%)  m@0x0        -147 (1778->1631)  third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/TiclStateManager.java
               TiclStateManager#saveTicl
~ 5)        587 (3.8%)  o@0x0        -111 (0->0)        {no path}
               Overhead: APK file
~ 6)        692 (4.5%)  m@0x0        105 (155->260)     base/android/java/src/org/chromium/base/ApplicationStatus.java
               ApplicationStatus#<clinit>
~ 7)        593 (3.9%)  m@0x0        -99 (860->761)     media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
               MediaCodecBridge#queueSecureInputBuffer
~ 8)        527 (3.5%)  m@0x0        -66 (2183->2117)   third_party/android_deps/com_android_support_appcompat_v7_java/classes.jar
               LinearLayoutCompat#onMeasure
~ 9)        463 (3.0%)  m@0x0        -64 (367->303)     media/capture/video/android/java/src/org/chromium/media/PhotoCapabilities.java
               PhotoCapabilities$Builder#build
~ 10)       409 (2.7%)  m@0x0        -54 (1725->1671)   chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java
               ContextualSearchPanel#getUpdatedSceneOverlayTree
~ 11)       355 (2.3%)  m@0x0        -54 (2115->2061)   android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
               WebViewChromiumFactoryProvider#initialize
~ 12)       309 (2.0%)  m@0x0        -46 (826->780)     media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
               MediaDrmBridge#updateSession
~ 13)       265 (1.7%)  m@0x0        -44 (287->243)     third_party/protobuf/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
               CodedInputStream$StreamDecoder#readRawLittleEndian64
~ 14)       221 (1.4%)  m@0x0        -44 (753->709)     chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java
               FeedNewTabPage#<init>
~ 15)       181 (1.2%)  m@0x0        -40 (286->246)     third_party/protobuf/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
               CodedInputStream$ArrayDecoder#readRawLittleEndian64
~ 16)       218 (1.4%)  m@0x0        37 (949->986)      content/public/android/java/src/org/chromium/content/browser/MotionEventSynthesizerImpl.java
               MotionEventSynthesizerImpl#inject
~ 17)       254 (1.7%)  m@0x0        36 (775->811)      content/public/android/java/src/org/chromium/content/browser/picker/InputDialogContainer.java
               InputDialogContainer#showPickerDialog
~ 18)       289 (1.9%)  m@0x0        35 (970->1005)     third_party/blink/public/android_mojo_bindings_java_sources.srcjar
               PaymentMethodData#decode
~ 19)       257 (1.7%)  m@0x0        -32 (509->477)     third_party/android_deps/com_android_support_multidex_java/classes.jar
               MultiDexExtractor#load
~ 20)       225 (1.5%)  m@0x0        -32 (965->933)     chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackScroller.java
               StackScroller$SplineStackScroller#fling
~ 21)       256 (1.7%)  m@0x0        31 (3362->3393)    third_party/android_deps/com_android_support_support_fragment_java/classes.jar
               FragmentManagerImpl#moveToState
~ 22)       287 (1.9%)  m@0x0        31 (1540->1571)    third_party/android_deps/com_android_support_appcompat_v7_java/classes.jar
               Toolbar#onMeasure
~ 23)       256 (1.7%)  m@0x0        -31 (1589->1558)   android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java
               WebViewChromium#init
~ 24)       228 (1.5%)  m@0x0        -28 (949->921)     chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionSiteBreakdownView.java
               DataReductionSiteBreakdownView#updateSiteBreakdown
~ 25)       256 (1.7%)  m@0x0        28 (459->487)      chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService2.java
               DownloadNotificationService2#notifyDownloadPaused$1575eb66
~ 26)       229 (1.5%)  m@0x0        -27 (502->475)     third_party/protobuf/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
 
Notables from the full diff:

+ 44)       193 (1.3%)  m@0x0        20 (0->20)         $APK/java/lang/Class
               Class#desiredAssertionStatus
~ 452)     5149 (33.8%) m@0x0        14 (58->72)        chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
               NewTabPage#<clinit>
~ 453)     5163 (33.9%) m@0x0        14 (58->72)        chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
               NewTabPageAdapter#<clinit>
~ 454)     5177 (33.9%) m@0x0        14 (58->72)        chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
               NewTabPageLayout#<clinit>
~ 455)     5191 (34.0%) m@0x0        14 (58->72)        chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java
               NewTabPageRecyclerView#<clinit>
~ 456)     5205 (34.1%) m@0x0        14 (58->72)        chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java
               NewTabPageUma#<clinit>
~ 457)     5219 (34.2%) m@0x0        14 (58->72)        chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
               NewTabPageView#<clinit>
~ 458)     5233 (34.3%) m@0x0        14 (242->256)      services/device/public/mojom/mojom_java_sources.srcjar
               NfcError#decode
~ 459)     5247 (34.4%) m@0x0        14 (73->87)        content/public/android/java/src/org/chromium/content/browser/NfcHost.java
               NfcHost#<clinit>
~ 460)     5261 (34.5%) m@0x0        14 (58->72)        services/device/nfc/android/java/src/org/chromium/device/nfc/NfcImpl.java
               NfcImpl#<clinit>
~ 461)     5275 (34.6%) m@0x0        14 (272->286)      services/device/public/mojom/mojom_java_sources.srcjar
               NfcWatchOptions#decode
~ 462)     5289 (34.7%) m@0x0        14 (57->71)        chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderBase.java
               NotificationBuilderBase#<clinit>
~ 463)     5303 (34.8%) m@0x0        14 (57->71)        chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderForO.java
               NotificationBuilderForO#<clinit>
~ 464)     5317 (34.9%) m@0x0        14 (57->71)        chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationCompatBuilder.java
               NotificationCompatBuilder#<clinit>
~ 465)     5331 (35.0%) m@0x0        14 (57->71)        chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationManagerProxyImpl.java
               NotificationManagerProxyImpl#<clinit>
~ 466)     5345 (35.0%) m@0x0        14 (88->102)       chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
               NotificationPlatformBridge#<clinit>
~ 467)     5359 (35.1%) m@0x0        14 (58->72)        chrome/android/java/src/org/chromium/chrome/browser/preferences/NotificationsPreferences.java
               NotificationsPreferences#<clinit>
Status: WontFix (was: Assigned)
Just checked and saw no regression downstream.

Sign in to add a comment