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