summaryrefslogtreecommitdiff
path: root/test/MultiDexModifiedSecondary
diff options
context:
space:
mode:
authorAlex Light <allight@google.com>2018-06-07 17:07:02 -0700
committerAlex Light <allight@google.com>2018-06-13 10:32:10 -0700
commit6cae5ea222ba256b0ade1e18e37a0f49e952c57c (patch)
tree454921ebef5312cb81fa3e8e011c0d4d4eae9ad6 /test/MultiDexModifiedSecondary
parentb32c6a914e7e7658c5ea64a00f2776e351adaa74 (diff)
Ensure we never instrument Proxy.<init> entrypoint
Due to the way we implement Proxy classes we need to be very careful when modifying proxy classes and the (non-proxy) java.lang.reflect.Proxy class and its methods. In particular we always avoid installing an instrumentation entrypoint into the Proxy.<init> method since we copy it for each proxy class. Failing to do this causes problems as the instrumentation entrypoint bounces to the Proxy entrypoint which gets confused since the copied init method is not really a proxy method. Unfortunately if one starts the profiling process early enough it was possible for the Proxy.<init> method to get instrumented as it is being loaded. This CL ensures that the method is skipped just like it would be if profiling was started later. NB Test requires several other patches to actually run far enough to observe this issue. Test: ./test/testrunner/testrunner.py --host --runtime-option=-Xplugin:libtracefast-trampolined.so Test: ./test/testrunner/testrunner.py --host --run-test-option='--with-agent libtifast.so=MethodEntry,MethodExit' Change-Id: I18fb381d18d7100b5ec843b3cddd387f2d033776
Diffstat (limited to 'test/MultiDexModifiedSecondary')
0 files changed, 0 insertions, 0 deletions