Chromium Code Reviews
Descriptiondart2js cps: Retain refinement nodes and update refinements after GVN.
Refinement nodes are retained throughout the optimization pipeline.
GVN can improve refinements, so a new pass after GVN updated references
to use the best refinement in scope. For example:
x.f.g();
x.f.h();
==>
v0 = x.f;
v0.g();
v0.h();
The receiver of h() is known to be non-null after GVN because the two
uses of x.f were proven to be the same value.
BUG=
R=sra@google.com
Committed: https://github.com/dart-lang/sdk/commit/22bf979646f14d306544c97cc1187a553dedfff8
Patch Set 1 #Patch Set 2 : Undo removed passes #
Total comments: 2
Patch Set 3 : Merge #Patch Set 4 : Merge #
Messages
Total messages: 7 (3 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||