Status Update
Comments
se...@google.com <se...@google.com> #2
Tentatively, the annotation should be something use-case-specific like @OutlinedNewApi
that allows alternative build systems (e.g. not R8/D8) to make their own decisions. We'll provide a default Proguard configuration for R8, but it's not guaranteed this will work as intended -- outlining is automatic in newer versions, but it may be disabled.
cc...@google.com <cc...@google.com> #3
Just as an FYI, this was enabled in AGP 2 years ago (AGP 7.3 as far as I remember), ag/18426192, so for AGP users it might fine to just remove the rule for @DoNotInline
. I like the @OutlinedNewApi
to make it clear what this is for other consumers to handle it as they see fit.
ra...@google.com <ra...@google.com> #4
Given the failure mode can include run-time crashes, that's not an acceptable level of usage.
ap...@google.com <ap...@google.com> #5
I think you can still include a top-level proguard.txt
, and it will be used by versions that do not support the com.android.tools
format. E.g.
ra...@google.com <ra...@google.com> #7
Looping in from offline, any new libraries require a high enough compileSdk
that we're going to see a recent-enough AGP. So, we should just remove our manual outlining and use of @DoNotInline
.
Description
For a while, the benchmark was somewhat faster than uncompiled, but it appears to have swung back upward, I'm guessing due to the above CL.
Strangely TrivialStartupBenchmark doesn't appear affected, and is still working fine.
Possibly an issue with how profile timestamps are reused multiple times now?
I don't see an affect fromhttps://android-review.googlesource.com/c/platform/frameworks/support/+/1790831 , so not sure what's going on there.
We need some integration tests for macrobench + baseline profile.