summaryrefslogtreecommitdiff
path: root/compiler/optimizing/inliner.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2015-05-27 13:14:27 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-05-27 13:14:27 +0000
commit382f5c24eb663ca8fa39a94a038349138a00272a (patch)
treea5a806ba856ce41f8665003b522c4fb7ecf06585 /compiler/optimizing/inliner.cc
parent00f09ff93480d5f43aaf657650a59d57330184aa (diff)
parent5ae1325048f3d2143f62735ed41acebf28ee6742 (diff)
Merge "Fix another source of undeterministic inlining."
Diffstat (limited to 'compiler/optimizing/inliner.cc')
-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 a72817fade..997f980f45 100644
--- a/compiler/optimizing/inliner.cc
+++ b/compiler/optimizing/inliner.cc
@@ -207,7 +207,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;
}