summaryrefslogtreecommitdiff
path: root/compiler/dex/mir_dataflow.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2014-01-02 16:40:37 +0000
committer Vladimir Marko <vmarko@google.com> 2014-03-18 16:16:16 +0000
commit9820b7c1dc70e75ad405b9e6e63578fa9fe94e94 (patch)
tree2fff53b061b16d758870a2a5299a383bdbe550b6 /compiler/dex/mir_dataflow.cc
parent80f9d0c48d6f8561700630b8b08adb4398d61008 (diff)
Early inlining of simple methods.
Inlining "special" methods: empty methods, methods returning constants or their arguments, simple getters and setters. Bug: 8164439 Change-Id: I8c7fa9c14351fbb2470000b378a22974daaef236
Diffstat (limited to 'compiler/dex/mir_dataflow.cc')
-rw-r--r--compiler/dex/mir_dataflow.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/dex/mir_dataflow.cc b/compiler/dex/mir_dataflow.cc
index 1c0205dbc2..36f1be7bdf 100644
--- a/compiler/dex/mir_dataflow.cc
+++ b/compiler/dex/mir_dataflow.cc
@@ -1001,7 +1001,7 @@ bool MIRGraph::DoSSAConversion(BasicBlock* bb) {
static_cast<int>(kNumPackedOpcodes)) {
int flags = Instruction::FlagsOf(mir->dalvikInsn.opcode);
- if (flags & Instruction::kInvoke) {
+ if ((flags & Instruction::kInvoke) != 0 && (mir->optimization_flags & MIR_INLINED) == 0) {
attributes_ &= ~METHOD_IS_LEAF;
}
}