OSDN Git Service

Prune uses library classes even without profile
authorMathieu Chartier <mathieuc@google.com>
Fri, 5 Aug 2016 23:09:09 +0000 (16:09 -0700)
committerMathieu Chartier <mathieuc@google.com>
Fri, 16 Dec 2016 01:05:59 +0000 (01:05 +0000)
commitdfd17f18c9e91cc6bf3098c40347c39d14c32412
tree840aef8cb23cdc0518580bf75e1581ef8672d3d8
parent2b25ca97ff20ab189567391e861dcd14204a1646
Prune uses library classes even without profile

The previous pruning relied on the classes being pruned from the
profile, and then using the profile to prune classes. If there was
no profile, the uses library classes were incorrectly left unpruned.

Leaving these classes unpruned caused aborts during compilation.

Bug: 30688277

Test: adb shell dex2oat --runtime-arg -classpath --runtime-arg /system/framework/com.google.android.maps.jar --dex-file=/data/app/comb.BBClient-1/base.apk --dex-location=/data/app/comb.BBClient-1/base.apk --oat-file=/data/app/comb.BBClient-1/oat/arm/base.odex  --app-image-file=/data/app/comb.BBClient-1/oat/arm/base.art --image-format=lz4 --compiler-filter=speed

(cherry picked from commit c27bc405312845bda4e25cd24e93211dfc7d7308)

Change-Id: I261b8894847b5b0a4f7330f49666e823a1b38bb0
compiler/image_writer.cc