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

Issue 24837002: Optimize string interpolation by running it at compile time if all inputs are constant. This is don… (Closed)

Created:
7 years, 2 months ago by srdjan
Modified:
7 years, 2 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Optimize string interpolation by running it at compile time if all inputs are constant. This is done during constant propagation, however, the argument construction instructions must be removed manually. It is unclear how safe it is to modify graph during constant propagation. R=kmillikin@google.com Committed: https://code.google.com/p/dart/source/detail?r=28175

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 7

Patch Set 4 : #

Patch Set 5 : #

Total comments: 5

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+103 lines, -15 lines) Patch
M runtime/vm/flow_graph_builder.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -12 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 3 4 5 6 7 3 chunks +100 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
srdjan
7 years, 2 months ago (2013-09-26 21:16:51 UTC) #1
Kevin Millikin (Google)
Cool. We should be able to fold other known calls too, if we choose (though ...
7 years, 2 months ago (2013-09-27 10:22:39 UTC) #2
srdjan
Thanks for the comments. PTAL. https://codereview.chromium.org/24837002/diff/13001/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/24837002/diff/13001/runtime/vm/flow_graph_optimizer.cc#newcode6065 runtime/vm/flow_graph_optimizer.cc:6065: instr->PushArgumentAt(0)->InputAt(0)->definition()->AsCreateArray(); On 2013/09/27 10:22:39, ...
7 years, 2 months ago (2013-10-01 19:36:49 UTC) #3
Kevin Millikin (Google)
LGTM after changing !IsConstant to IsNonConstant (I know, the difference is very subtle). https://codereview.chromium.org/24837002/diff/24001/runtime/vm/flow_graph_builder.h File ...
7 years, 2 months ago (2013-10-02 14:09:37 UTC) #4
srdjan
https://codereview.chromium.org/24837002/diff/24001/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/24837002/diff/24001/runtime/vm/flow_graph_optimizer.cc#newcode6032 runtime/vm/flow_graph_optimizer.cc:6032: if (recognized_kind == MethodRecognizer::kStringBaseInterpolate) { On 2013/10/02 14:09:38, kmillikin ...
7 years, 2 months ago (2013-10-02 16:35:23 UTC) #5
srdjan
7 years, 2 months ago (2013-10-02 17:49:22 UTC) #6
Message was sent while issue was closed.
Committed patchset #8 manually as r28175 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698