From 9820b7c1dc70e75ad405b9e6e63578fa9fe94e94 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Thu, 2 Jan 2014 16:40:37 +0000 Subject: 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 --- compiler/dex/mir_dataflow.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/dex/mir_dataflow.cc') 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(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; } } -- cgit v1.2.3-59-g8ed1b