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

Issue 11342014: Fold away x === null comparisons when propagated cid of x is not kDynamicCid. (Closed)

Created:
8 years, 1 month ago by Vyacheslav Egorov (Google)
Modified:
8 years, 1 month ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Fold away x === null comparisons when propagated cid of x is not kDynamicCid. Eliminate single operand phis that appear in the graph after constant propagation. Recognize constructors for _ObjectArray and _GrowableObjectArray. Fix bug in result cid recognition for List. constructor call. A call with an argument does not guarantee that fixed size array (kArrayCid) is returned. These changes together allow us to produce better code after inlining of List constructor, otherwise we lose information due to non-specialized control-flow that chooses between _GrowableObjectArray and _ObjectArray. R=kmillikin@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=14258

Patch Set 1 #

Patch Set 2 : fix error in type recognition for List. call #

Unified diffs Side-by-side diffs Delta from patch set Stats (+65 lines, -15 lines) Patch
M runtime/vm/flow_graph_builder.cc View 1 1 chunk +44 lines, -14 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 4 chunks +20 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.h View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Vyacheslav Egorov (Google)
8 years, 1 month ago (2012-10-29 19:00:43 UTC) #1
Vyacheslav Egorov (Google)
+srdjan Additionally I realized that we have a bug in result cid recognition for List. ...
8 years, 1 month ago (2012-10-29 19:24:53 UTC) #2
Kevin Millikin (Google)
8 years, 1 month ago (2012-10-30 09:13:59 UTC) #3
lgtm

Powered by Google App Engine
This is Rietveld 408576698