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

Issue 13932005: Refactor the code for making inlining decisions. (Closed)

Created:
7 years, 8 months ago by Kevin Millikin (Google)
Modified:
7 years, 8 months ago
CC:
reviews_dartlang.org, tfarina
Visibility:
Public.

Description

Refactor the code for making inlining decisions. Separate the decision to inlin, which produces a graph to inline, from the act of inlining itself. For polymorphic inlining we need such a separation. Change the function that integrates an inlined function graph into a caller graph so that it operates on a graph entry and set of inlined exits rather than on an entire flow graph. Flow graphs represent a whole function so this change allows us to replace an instruction with an arbitrary subgraph. Change the name of the InliningContext class to InlineExitCollector to more accurately reflect what it does. Committed: https://code.google.com/p/dart/source/detail?r=21539

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+144 lines, -112 lines) Patch
M runtime/vm/flow_graph.h View 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_builder.h View 5 chunks +18 lines, -18 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 9 chunks +15 lines, -18 lines 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 15 chunks +104 lines, -70 lines 2 comments Download
M runtime/vm/intermediate_language.h View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
Kevin Millikin (Google)
7 years, 8 months ago (2013-04-12 11:51:13 UTC) #1
Florian Schneider
LGTM.
7 years, 8 months ago (2013-04-12 12:08:27 UTC) #2
Kevin Millikin (Google)
Committed patchset #1 manually as r21539 (presubmit successful).
7 years, 8 months ago (2013-04-16 08:40:39 UTC) #3
srdjan
DBC https://codereview.chromium.org/13932005/diff/1/runtime/vm/flow_graph_inliner.cc File runtime/vm/flow_graph_inliner.cc (right): https://codereview.chromium.org/13932005/diff/1/runtime/vm/flow_graph_inliner.cc#newcode605 runtime/vm/flow_graph_inliner.cc:605: void InlineCall(InlinedCallData* call_data) { call_data is read only ...
7 years, 8 months ago (2013-04-16 16:51:17 UTC) #4
tfarina
7 years, 8 months ago (2013-04-23 02:05:27 UTC) #5
Message was sent while issue was closed.
https://codereview.chromium.org/13932005/diff/1/runtime/vm/flow_graph_inliner.cc
File runtime/vm/flow_graph_inliner.cc (right):

https://codereview.chromium.org/13932005/diff/1/runtime/vm/flow_graph_inliner...
runtime/vm/flow_graph_inliner.cc:605: void InlineCall(InlinedCallData*
call_data) {
On 2013/04/16 16:51:17, srdjan wrote:
> call_data is read only in this function, you could make it const ref, then the
> callers become simpler.
I have addressed this here: https://codereview.chromium.org/14341013/

Powered by Google App Engine
This is Rietveld 408576698