OSDN Git Service

Encode the entire class loader context for dex2oat
authorCalin Juravle <calin@google.com>
Thu, 13 Jul 2017 01:52:49 +0000 (18:52 -0700)
committerAndreas Gampe <agampe@google.com>
Tue, 31 Oct 2017 22:08:28 +0000 (15:08 -0700)
commit0a267a884ed04d3baf77ed7e5f6467879d035d33
tree6560abf597d860b24d6e8fa0ebb9e63f4ab89715
parentcaed6000be0ebd32b5eb0ffb09757b891ae5c2ed
Encode the entire class loader context for dex2oat

Until now the split dependencies were passed as a flatten list to dex2oat.
In the presence of DelegateLastClassLoaders this is no longer enough to
ensure the correctness of the compilation.

This CL encodes the split dependencies together with their declared class
loader in a format accepted by dex2oat.

(partially cherry picked from commit 19da1cf72e8c448743a8c27ac6d73424ae42c7ec)

Bug: 38138251
Test: runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java

Merged-In: Iaabd5d8bd5e6d027a8de5a408777fd517063d9f1
Change-Id: Iaabd5d8bd5e6d027a8de5a408777fd517063d9f1
services/core/java/com/android/server/pm/PackageDexOptimizer.java
services/core/java/com/android/server/pm/dex/DexoptUtils.java [new file with mode: 0644]
services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java [new file with mode: 0644]