From 5ae1325048f3d2143f62735ed41acebf28ee6742 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Wed, 27 May 2015 12:53:36 +0100 Subject: Fix another source of undeterministic inlining. bug:20037935 Change-Id: Ifad234a331ec616f065aabc65576c5636ad8ec21 --- compiler/optimizing/inliner.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/inliner.cc') 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 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; } -- cgit v1.2.3-59-g8ed1b