summaryrefslogtreecommitdiff
path: root/compiler/optimizing/inliner.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2017-03-15 06:28:52 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2017-03-15 06:28:52 +0000
commit43e99be9db10111a2d6e094882cd06c248c69e11 (patch)
treefb4d9ed1e6a5230c3a54e07157f017cf60167e51 /compiler/optimizing/inliner.cc
parent8f301e26943c53485abc2da5ff1907f7c2e0ff0c (diff)
Revert "Revert "Revert "CHA for interface method."""
Breaks libcore tests. This reverts commit 8f301e26943c53485abc2da5ff1907f7c2e0ff0c. Change-Id: Iea46176118be9e05aceb06f2d290961bb1f38265
Diffstat (limited to 'compiler/optimizing/inliner.cc')
-rw-r--r--compiler/optimizing/inliner.cc11
1 files changed, 0 insertions, 11 deletions
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc
index 419dfa7a6e..3e340908bf 100644
--- a/compiler/optimizing/inliner.cc
+++ b/compiler/optimizing/inliner.cc
@@ -878,17 +878,6 @@ bool HInliner::TryInlineAndReplace(HInvoke* invoke_instruction,
// 1) In the best case, the interface call has one more indirection (to fetch the IMT).
// 2) We will not go to the conflict trampoline with an invoke-virtual.
// TODO: Consider sharpening once it is not dependent on the compiler driver.
-
- if (method->IsDefault() && !method->IsCopied()) {
- // Changing to invoke-virtual cannot be done on an original default method
- // since it's not in any vtable. Devirtualization by exact type/inline-cache
- // always uses a method in the iftable which is never an original default
- // method.
- // On the other hand, inlining an original default method by CHA is fine.
- DCHECK(cha_devirtualize);
- return false;
- }
-
const DexFile& caller_dex_file = *caller_compilation_unit_.GetDexFile();
uint32_t dex_method_index = FindMethodIndexIn(
method, caller_dex_file, invoke_instruction->GetDexMethodIndex());