summaryrefslogtreecommitdiff
path: root/test/ProfileTestMultiDex/Second.java
diff options
context:
space:
mode:
authorOrion Hodson <oth@google.com>2019-03-06 11:00:52 +0000
committerOrion Hodson <oth@google.com>2019-04-12 08:45:56 +0000
commita0a72dcfa73b3d2772f32515c77ecdf8a0ef277e (patch)
tree9b622fe5060bb5c1e18120f32be3265b0f0b4725 /test/ProfileTestMultiDex/Second.java
parent4ee9bd8c85a9502bd00d73a94cc4dd5d0d679f83 (diff)
Allow APEX binaries to access fields and methods via JNI
Adds a native stack check for method and field resolutions via JNI. This is part of checking the Core Platform API surface. Code outside of APEXes shouldn't be accessing internals as those may change. The native stack walk determines first caller outside of libart and checks whether it's from an APEX module or other code. The caller lookup employs a cache of executable pages in shared objects to avoid costs of dladdr when examining program counters. The overhead of this additional check is typically 50-400ns on per field/method resolution via JNI as measured on a blueline device (see b/124338141 for data). Bug: 124338141 Test: m art_libartartbase_tests_memory_type_table_test && \ out/host/linux-x86/nativetest/art_libartbase_tests/memory_type_table_test Test: Boot and observe no core platform api warnings from opengl (cherry picked from commit 80e9f700c29b1bcaa4535051eda57a5026cc12ed) Change-Id: Iedd73fbcafc0f1198e95cd87770de1e0898f6301 Merged-In: Ie2f7217cdcbfb324cd98d65856fa8bc9967dfd19
Diffstat (limited to 'test/ProfileTestMultiDex/Second.java')
0 files changed, 0 insertions, 0 deletions