New issue
Advanced search Search tips

Issue 883148 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

SuperSize Diff should try harder to match up Java anonymous inner classes

Project Member Reported by agrieve@chromium.org, Sep 12

Issue description

For lambdas and anonymous inner classes, class names are generated like: Outer$1, Outer$2, etc.

For native code, linker-generated symbols are similar, and our diff logic accounts for this by stripping the numbers when matching up diffs:
https://cs.chromium.org/chromium/src/tools/binary_size/libsupersize/diff.py?rcl=d18aae4354456a1d242730c10e21cf73c9356b67&l=20

This can happen for synthetic methods as well. e.g.:
Added:
org.chromium.chrome.browser.vr.ArCoreJavaUtils long access$100(org.chromium.chrome.browser.vr.ArCoreJavaUtils)
org.chromium.chrome.browser.vr.ArCoreJavaUtils void access$300(org.chromium.chrome.browser.vr.ArCoreJavaUtils,long)
Removed:
org.chromium.chrome.browser.vr.ArCoreJavaUtils long access$000(org.chromium.chrome.browser.vr.ArCoreJavaUtils)
org.chromium.chrome.browser.vr.ArCoreJavaUtils void access$100(org.chromium.chrome.browser.vr.ArCoreJavaUtils,long)


We should use similar fuzzy matching for dex symbols from sequentially numbered generated classes.
We should just strip the suffix from access$ methods (when diffing, not from actual .size files)
 
Here's an example I just noticed where the numbers do not come at the end:

- 2)       5248 (36.9%) m@0x0        -548 (548->0)      third_party/feed/src/src/main/java/com/google/android/libraries/feed/feedmodelprovider/FeedModelProvider.java
               FeedModelProvider#lambda$handleToken$1$FeedModelProvider
+ 3)       5796 (40.7%) m@0x0        548 (0->548)       third_party/feed/src/src/main/java/com/google/android/libraries/feed/feedmodelprovider/FeedModelProvider.java
               FeedModelProvider#lambda$handleToken$19$FeedModelProvider
Description: Show this description

Comment 3 by agrieve@chromium.org, Yesterday (41 hours ago)

Labels: binary_size_team_q1_2019

Sign in to add a comment