From f6d4668c42933e2f85ddbc94e276c49db4e2b1dd Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Tue, 28 Feb 2017 17:41:45 +0000 Subject: Improvements in the Inliner. - Change from a depth limit to a total number of HInstructions inlined limit. Remove the dex2oat depth limit argument. - Add more stats to diagnose reasons for not inlining. - Clean up logging to easily parse output. Individual Ritz benchmarks improve from 3 to 10%. No change in other heuristics. There was already an instruction budget. Note that the instruction budget is rarely hit in the "apps" I've tried with. Compile-times improve from 5 to 15%. Code size go from 4% increase (Gms) to 1% decrease (Docs). bug:35724239 test: test-art-host test-art-target Change-Id: I5a35c4bd826cf21fead77859709553c5b57608d6 --- compiler/jit/jit_compiler.cc | 5 ----- 1 file changed, 5 deletions(-) (limited to 'compiler/jit/jit_compiler.cc') diff --git a/compiler/jit/jit_compiler.cc b/compiler/jit/jit_compiler.cc index 3ae7974038..ad951bcc3f 100644 --- a/compiler/jit/jit_compiler.cc +++ b/compiler/jit/jit_compiler.cc @@ -97,7 +97,6 @@ JitCompiler::JitCompiler() { CompilerOptions::kDefaultSmallMethodThreshold, CompilerOptions::kDefaultTinyMethodThreshold, CompilerOptions::kDefaultNumDexMethodsThreshold, - CompilerOptions::kDefaultInlineDepthLimit, CompilerOptions::kDefaultInlineMaxCodeUnits, /* no_inline_from */ nullptr, CompilerOptions::kDefaultTopKProfileThreshold, @@ -177,10 +176,6 @@ JitCompiler::JitCompiler() { jit_logger_.reset(new JitLogger()); jit_logger_->OpenLog(); } - - size_t inline_depth_limit = compiler_driver_->GetCompilerOptions().GetInlineDepthLimit(); - DCHECK_LT(thread_count * inline_depth_limit, std::numeric_limits::max()) - << "ProfilingInfo's inline counter can potentially overflow"; } JitCompiler::~JitCompiler() { -- cgit v1.2.3-59-g8ed1b