From fcb7613d3aaa9a6802800b6e957aaad51cedf6dc Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Thu, 17 Dec 2015 12:43:00 +0000 Subject: Tweak inlining heuristics. go/lem driven: Performance: Richards +41% CaffeineMethod +43% ReversiBench: +52% Towers: +73% Tak: +85% Memory use: 7% less memory CompileTime: 14% increase CodeSize: 8% increase Last three measures are now more acceptable given we JIT. Change-Id: Ic4aa6535d2b76cf3545ef00e9b2ae32330f10745 --- compiler/optimizing/optimizing_compiler.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/optimizing_compiler.cc') diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index ba435180e5..37127bbca5 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -426,8 +426,18 @@ static void MaybeRunInliner(HGraph* graph, if (!should_inline) { return; } + size_t number_of_dex_registers = dex_compilation_unit.GetCodeItem()->registers_size_; HInliner* inliner = new (graph->GetArena()) HInliner( - graph, graph, codegen, dex_compilation_unit, dex_compilation_unit, driver, handles, stats); + graph, + graph, + codegen, + dex_compilation_unit, + dex_compilation_unit, + driver, + handles, + stats, + number_of_dex_registers, + /* depth */ 0); HOptimization* optimizations[] = { inliner }; RunOptimizations(optimizations, arraysize(optimizations), pass_observer); -- cgit v1.2.3-59-g8ed1b