summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2015-06-01 17:13:34 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-01 17:13:34 +0000
commit71f0a8a123fa27bdc857a98afebbaf0ed09dac15 (patch)
treeecfae65741e19ba5b33d4cc3ecb2712342436ece
parent952b16428c8eef0e2facc8dd7fffbdb586352ab5 (diff)
parent265314940031596b80d5e5c8ce0b1eb54f11493d (diff)
downloadandroid_art-71f0a8a123fa27bdc857a98afebbaf0ed09dac15.tar.gz
android_art-71f0a8a123fa27bdc857a98afebbaf0ed09dac15.tar.bz2
android_art-71f0a8a123fa27bdc857a98afebbaf0ed09dac15.zip
Merge "Fix another source of undeterministic inlining." into mnc-dev
-rw-r--r--compiler/optimizing/inliner.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc
index 086454321c..d88424cb5e 100644
--- a/compiler/optimizing/inliner.cc
+++ b/compiler/optimizing/inliner.cc
@@ -186,7 +186,9 @@ bool HInliner::TryBuildAndInline(Handle<mirror::ArtMethod> resolved_method,
if (!builder.BuildGraph(*code_item)) {
VLOG(compiler) << "Method " << PrettyMethod(method_index, caller_dex_file)
<< " could not be built, so cannot be inlined";
- resolved_method->SetShouldNotInline();
+ // There could be multiple reasons why the graph could not be built, including
+ // unaccessible methods/fields due to using a different dex cache. We do not mark
+ // the method as non-inlineable so that other callers can still try to inline it.
return false;
}