OSDN Git Service

Do not remove loads/store with unresolved accesses.
authorNicolas Geoffray <ngeoffray@google.com>
Mon, 27 Jun 2016 09:03:29 +0000 (10:03 +0100)
committerAndreas Gampe <agampe@google.com>
Mon, 27 Jun 2016 20:21:03 +0000 (13:21 -0700)
commitc2f1735e04537c94a8505aa2badd31281087ab51
tree2684fc5420cf39c5e62e4bb738469520bd32a173
parentf7a0543d88a03bcdaa845e41486b8df84171101b
Do not remove loads/store with unresolved accesses.

Due to AOT and compiling classes that are not ready yet
(eg missing a super class), we need to be conservative when
accessing fields and can end up in a situation where the same
field can be resolved and unresolved within the same method
(because of inlining). Therefore, disable removing loads and
stores in a method when there are unresolved accesses.

bug:29433999

(cherry picked from commit b93a16517dce12b83e9d5d3b599446e25fcc157a)

Change-Id: I8fcfb52c584222474a8220eb16c6581350b702e0
compiler/optimizing/load_store_elimination.cc
test/608-checker-unresolved-lse/expected.txt [new file with mode: 0644]
test/608-checker-unresolved-lse/info.txt [new file with mode: 0644]
test/608-checker-unresolved-lse/run [new file with mode: 0644]
test/608-checker-unresolved-lse/src-dex2oat-unresolved/MissingSuperClass.java [new file with mode: 0644]
test/608-checker-unresolved-lse/src/Main.java [new file with mode: 0644]