summaryrefslogtreecommitdiff
path: root/test/ProfileTestMultiDex/main.jpp
diff options
context:
space:
mode:
authorOrion Hodson <oth@google.com>2019-07-18 12:57:47 +0100
committerOrion Hodson <oth@google.com>2019-07-26 08:41:54 +0000
commit01ecfa1c31282e12b18df5b2f555898a0c3a2e35 (patch)
treef3f71be061fb0b411ec9434fb23e0b2a8b787075 /test/ProfileTestMultiDex/main.jpp
parent2be4306b7669a5aca3e936c531c5ec370ae98e92 (diff)
Refactor Core Plaform API checking
Move Core Platform API check logic to hidden_api_jni.{h,cc}. Use libunwindstack for walking stack as builtin isn't robust without frame pointers. This is moderately expensive so we currently walk a maximum of 3 frames. Checks are now performed by placing ScopedCorePlatformApiCheck instances at potential points of entry via JNI. Specifically, where JNI interfaces implement methods for getting field and method ids. The check is only performed on the outermost instance of the ScopedCorePlatformApiCheck since only the outer caller is of interest. State for the checks is stored in the current Thread instance since the JNI interface signatures are fixed and we need a way to be able to determine whether a ScopedCorePlatformApiCheck is the outermost instance and whether the outmost instance was approved. Test: build eng build (has checkjni), boot, grep logcat nio/Buffer Test: build user build (regular jni), boot, grep logcat nio/Buffer Bug: 130336799 Bug: 136276414 Change-Id: If1261046dd57c007bc77b213daaa5f733151123e
Diffstat (limited to 'test/ProfileTestMultiDex/main.jpp')
0 files changed, 0 insertions, 0 deletions