summaryrefslogtreecommitdiff
path: root/test/MultiDexModifiedSecondary/main.jpp
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2015-04-23 22:23:47 -0700
committerAndreas Gampe <agampe@google.com>2015-04-24 11:17:20 -0700
commitb9aec2ccd8b9f39a4ddadde5ca8304cea6b1b188 (patch)
tree86154f70ec4a971540363673236bf6b3ff81593c /test/MultiDexModifiedSecondary/main.jpp
parent9d4d13f38398e880e610323242fe73d609bac40d (diff)
ART: Check for duplicate classes when loading oat files
Oat files are usually produced standalone, and the compilers take advantage of any information they get. It is thus possible that when compile-time and runtime class-path are not the same, classes are resolved differently and optimized code is incorrect. This is a very conservative check, scanning the complete class tables of dex files. In case any duplicate class is found, the new oat file will be rejected and the original dex files will be used in interpreted mode. A possible refinement to this is actual tracking of the compile-time class-path instead. That is however significantly complicated by the DexFile API and the non-standard uses it allows. An alternative for both optimized code and correct resolution is native multidex. Apps should switch to multidex and benefit from the optimization as well as the shift of all compile time to install time. Split APKs are currently compiled separately, but it is a goal to change that install flow to simulated multidex. Change-Id: Ib9e0db5091e060e3bb2c0e5e6c007430becbfc21
Diffstat (limited to 'test/MultiDexModifiedSecondary/main.jpp')
0 files changed, 0 insertions, 0 deletions