OSDN Git Service

Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod.
authorVladimir Marko <vmarko@google.com>
Wed, 6 Apr 2016 16:33:41 +0000 (17:33 +0100)
committerVladimir Marko <vmarko@google.com>
Wed, 6 Apr 2016 16:33:41 +0000 (17:33 +0100)
commit40ecb12f8eeb97b810e11f895278abbf7988ed4d
tree54d999605c0eaf3b4d311f83f8162684506f4a31
parent5827507da8efdaf4536c70dfdc54407c28e37852
Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod.

Use the original method index instead of the target method
index because the target method may point to a different dex
file.

No regression test: this currently happens only if the
codegen uses the kDexCacheViaMethod as a fallback for
another load kind and we aim to avoid that fallback, so it
would be difficult to write a reliable regression test. We
could try and exploit current fallbacks for irreducible
loops on x86 and arm but those fallbacks will eventually
disappear anyway.

Bug: 28036230
Change-Id: I4cc9e046480d3d60a7fb521f0ca6a98914625cdc
compiler/optimizing/code_generator_arm.cc
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/code_generator_mips.cc
compiler/optimizing/code_generator_mips64.cc
compiler/optimizing/code_generator_x86.cc
compiler/optimizing/code_generator_x86_64.cc