summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2016-01-18 15:24:53 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2016-01-18 15:39:39 +0000
commit7c0f2e55456c39f92f0136844ebf17b2bbcf9a97 (patch)
tree70cceb1203e173bb594667872b91b60d2e14311c /compiler
parent7d6872a2471a20a10fc99b02459db89a5fc2dc1d (diff)
Do HFieldGet first to avoid explicit null check.
Change-Id: If22f85d502e1dce428f8d341fcb64e27a886fb89
Diffstat (limited to 'compiler')
-rw-r--r--compiler/optimizing/inliner.cc8
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());