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

Issue 10949019: Turn definitions that do not produce results (e.g. Checks) into instructions. (Closed)

Created:
8 years, 3 months ago by Vyacheslav Egorov (Google)
Modified:
8 years, 3 months ago
Reviewers:
Florian Schneider
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Turn definitions that do not produce results (e.g. Checks) into instructions. This allows more uniform iteration of IR for example when we are looking for all Smi values. R=fschneider@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=12563

Patch Set 1 #

Total comments: 6

Patch Set 2 : Address Florian's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+229 lines, -224 lines) Patch
M runtime/vm/flow_graph_builder.cc View 9 chunks +11 lines, -10 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.h View 4 chunks +7 lines, -9 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 7 chunks +63 lines, -47 lines 0 comments Download
M runtime/vm/il_printer.cc View 3 chunks +20 lines, -32 lines 0 comments Download
M runtime/vm/intermediate_language.h View 35 chunks +107 lines, -110 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 12 chunks +21 lines, -16 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Vyacheslav Egorov (Google)
8 years, 3 months ago (2012-09-19 12:58:35 UTC) #1
Florian Schneider
lgtm https://codereview.chromium.org/10949019/diff/1/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/10949019/diff/1/runtime/vm/flow_graph_optimizer.cc#newcode38 runtime/vm/flow_graph_optimizer.cc:38: if (replacement != current) { Maybe assert that ...
8 years, 3 months ago (2012-09-19 13:24:49 UTC) #2
Vyacheslav Egorov (Google)
8 years, 3 months ago (2012-09-21 12:51:40 UTC) #3
publishing old drafts

https://chromiumcodereview.appspot.com/10949019/diff/1/runtime/vm/flow_graph_...
File runtime/vm/flow_graph_optimizer.cc (right):

https://chromiumcodereview.appspot.com/10949019/diff/1/runtime/vm/flow_graph_...
runtime/vm/flow_graph_optimizer.cc:38: if (replacement != current) {
On 2012/09/19 13:24:49, Florian Schneider wrote:
> Maybe assert that Canonicalize for Instructions returns either NULL or this.

Done.

https://chromiumcodereview.appspot.com/10949019/diff/1/runtime/vm/flow_graph_...
runtime/vm/flow_graph_optimizer.cc:1775: }
On 2012/09/19 13:24:49, Florian Schneider wrote:
> Maybe add the same debug output as in the Canonicalize-pass:
> 
> OS::Print("Removing %s\n", current->DebugName());

Done.

https://chromiumcodereview.appspot.com/10949019/diff/1/runtime/vm/intermediat...
File runtime/vm/intermediate_language.cc (right):

https://chromiumcodereview.appspot.com/10949019/diff/1/runtime/vm/intermediat...
runtime/vm/intermediate_language.cc:1209: Definition* Definition::Canonicalize()
{
On 2012/09/19 13:24:49, Florian Schneider wrote:
> Definition::Canonicalize not needed anymore?

It is needed to make the code more typesafe to guarantee that all subclasses of
Definition return Definition* as a result of canonicalization.

Powered by Google App Engine
This is Rietveld 408576698