Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(721)

Issue 2994283002: [VM-Compiler] Don't inline if we don't have inlining budget enough to fully inline.

Created:
3 years, 4 months ago by erikcorry
Modified:
3 years, 3 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

[VM-Compiler] Don't inline if we don't have inlining budget enough to fully inline. When deciding whether to inline a function that has already been optimized once, take a look at how many levels of inlining took place when it was optimized stand-alone. If we don't have that much depth budget left, don't inline. This is an attempt to avoid the situation where we inline a function that was already optimized, and then fail to inline important things that are in the inner loop. The benchmarking server shows about a 3% improvement on average when running the DartJS compiler R=vegorov@google.com BUG=

Patch Set 1 #

Total comments: 2

Patch Set 2 : Add InliningDecision return struct #

Patch Set 3 : Do InliningDecision the way Slava suggested #

Unified diffs Side-by-side diffs Delta from patch set Stats (+174 lines, -195 lines) Patch
M runtime/vm/clustered_snapshot.cc View 1 3 chunks +4 lines, -3 lines 0 comments Download
M runtime/vm/compiler/backend/inliner.h View 1 1 chunk +3 lines, -2 lines 0 comments Download
M runtime/vm/compiler/backend/inliner.cc View 1 2 17 chunks +83 lines, -50 lines 0 comments Download
M runtime/vm/compiler/jit/compiler.cc View 1 6 chunks +7 lines, -4 lines 0 comments Download
M runtime/vm/isolate_reload.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/object.h View 1 2 chunks +53 lines, -125 lines 0 comments Download
M runtime/vm/object.cc View 1 3 chunks +3 lines, -1 line 0 comments Download
M runtime/vm/raw_object.h View 1 1 chunk +17 lines, -7 lines 0 comments Download
M runtime/vm/raw_object_snapshot.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/weak_code.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
erikcorry
3 years, 4 months ago (2017-08-15 16:34:22 UTC) #1
Vyacheslav Egorov (Google)
lgtm https://codereview.chromium.org/2994283002/diff/1/runtime/vm/flow_graph_inliner.cc File runtime/vm/flow_graph_inliner.cc (right): https://codereview.chromium.org/2994283002/diff/1/runtime/vm/flow_graph_inliner.cc#newcode628 runtime/vm/flow_graph_inliner.cc:628: bool ShouldWeInline(const Function& callee, I better way would ...
3 years, 3 months ago (2017-09-04 12:14:31 UTC) #2
Vyacheslav Egorov (Google)
ping
3 years, 3 months ago (2017-09-07 07:48:04 UTC) #3
erikcorry
https://codereview.chromium.org/2994283002/diff/1/runtime/vm/flow_graph_inliner.cc File runtime/vm/flow_graph_inliner.cc (right): https://codereview.chromium.org/2994283002/diff/1/runtime/vm/flow_graph_inliner.cc#newcode628 runtime/vm/flow_graph_inliner.cc:628: bool ShouldWeInline(const Function& callee, On 2017/09/04 12:14:31, Vyacheslav Egorov ...
3 years, 3 months ago (2017-09-21 08:12:19 UTC) #4
aryanarya2619
3 years, 3 months ago (2017-09-21 08:55:03 UTC) #5

Powered by Google App Engine
This is Rietveld 408576698