AW: do not allow proguard to optimize ApiHelper classes
We recently introduced a series of ApiHelperFor* classes to help us
ensure the WebView APK's classes pass compile-time verification in order
to avoid runtime verification (which causes logspam and startup
penalties). However, proguard was inlining these classes in our release
builds, which re-introduced the class verification issues.
This adds an annotation to prevent inlining. The @DoNotInline
annotation is used to configure Proguard.
R=torne@chromium.org
(tested on L,M,NMR1 with standalone webview and monochrome)
android-webview-google -v --pageset-repeat=1
(no startup penalty on L device)
"StatusRetryVerificationAtRuntime" (ensure the fixed classes no
longer show up)
Bug: 791099
Bug: 838702
Test: adb logcat | grep 'Failed resolution of'
Test: tools/perf/run_benchmark system_health.webview_startup --browser \
Test: use oatdump after installing APK. Then, grep for
Change-Id: I7e85718916313f03287e5f2d5fe8f51a02661f11
Reviewed-on: https://chromium-review.googlesource.com/1109464Reviewed-by:
Richard Coles <torne@chromium.org>
Reviewed-by:
Bo <boliu@chromium.org>
Reviewed-by:
agrieve <agrieve@chromium.org>
Commit-Queue: Nate Fischer <ntfschr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569848}
Showing
Please register or sign in to comment