ART: Do not use proxy method as owner of lock
During lock inflation, it is possible to see a proxy method on
top of the stack, e.g., when it is allocating its args array.
However, proxy methods are not helpful for lock profiling, as
they do not contain specific caller data we could use.
Instead, try to walk the stack for the proxy's caller method,
and use that as the owner. This is acceptable as proxies can
never be synchronized methods (as interfaces methods aren't),
and the caller frame cannot be a proxy method itself.
Add a test. But the repro rate is really low.
Bug: 68871592
Test: m test-art-host
Change-Id: I02cf38c7d05e2c963a5dc489c57b6dd8009dccd4
5 files changed