diff options
author | 2017-02-28 17:41:45 +0000 | |
---|---|---|
committer | 2017-03-24 14:02:54 +0000 | |
commit | f6d4668c42933e2f85ddbc94e276c49db4e2b1dd (patch) | |
tree | 3343addb8cde45eb4070d4876f26bef1002248dc /compiler/jit/jit_compiler.cc | |
parent | 0bbb750f6ff9a52bc4649995fc78ebea87e31dd1 (diff) |
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
Diffstat (limited to 'compiler/jit/jit_compiler.cc')
-rw-r--r-- | compiler/jit/jit_compiler.cc | 5 |
1 files changed, 0 insertions, 5 deletions
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<uint16_t>::max()) - << "ProfilingInfo's inline counter can potentially overflow"; } JitCompiler::~JitCompiler() { |