diff options
| author | 2016-01-18 16:01:17 +0000 | |
|---|---|---|
| committer | 2016-01-18 16:01:17 +0000 | |
| commit | 9a85f58cd380d8ad35c481576fa55a9b04917f4e (patch) | |
| tree | 7db45d9973639447dcb686551e25086d518228ce | |
| parent | 73b41531b34744c56b1b42636812777109c71afc (diff) | |
| parent | 7c0f2e55456c39f92f0136844ebf17b2bbcf9a97 (diff) | |
Merge "Do HFieldGet first to avoid explicit null check."
| -rw-r--r-- | compiler/optimizing/inliner.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc index 293282edbb..20c4f1f698 100644 --- a/compiler/optimizing/inliner.cc +++ b/compiler/optimizing/inliner.cc @@ -356,12 +356,12 @@ bool HInliner::TryInlineMonomorphicCall(HInvoke* invoke_instruction, compare, invoke_instruction->GetDexPc()); // TODO: Extend reference type propagation to understand the guard. if (cursor != nullptr) { - bb_cursor->InsertInstructionAfter(load_class, cursor); + bb_cursor->InsertInstructionAfter(field_get, cursor); } else { - bb_cursor->InsertInstructionBefore(load_class, bb_cursor->GetFirstInstruction()); + bb_cursor->InsertInstructionBefore(field_get, bb_cursor->GetFirstInstruction()); } - bb_cursor->InsertInstructionAfter(field_get, load_class); - bb_cursor->InsertInstructionAfter(compare, field_get); + bb_cursor->InsertInstructionAfter(load_class, field_get); + bb_cursor->InsertInstructionAfter(compare, load_class); bb_cursor->InsertInstructionAfter(deoptimize, compare); deoptimize->CopyEnvironmentFrom(invoke_instruction->GetEnvironment()); |