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

Issue 1519513002: dart2js cps: Retain refinement nodes and update refinements after GVN. (Closed)

Created:
5 years ago by asgerf
Modified:
5 years ago
CC:
reviews_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

dart2js 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+102 lines, -44 lines) Patch
M pkg/compiler/lib/src/cps_ir/gvn.dart View 1 2 2 chunks +17 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/cps_ir/optimize_interceptors.dart View 1 chunk +1 line, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/optimizers.dart View 1 chunk +1 line, -1 line 0 comments Download
D pkg/compiler/lib/src/cps_ir/remove_refinements.dart View 1 chunk +0 lines, -35 lines 0 comments Download
A pkg/compiler/lib/src/cps_ir/update_refinements.dart View 1 chunk +67 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/task.dart View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart View 1 2 5 chunks +14 lines, -5 lines 0 comments Download

Messages

Total messages: 7 (3 generated)
asgerf
5 years ago (2015-12-10 18:35:30 UTC) #3
sra1
lgtm https://codereview.chromium.org/1519513002/diff/40001/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart File pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart (right): https://codereview.chromium.org/1519513002/diff/40001/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart#newcode457 pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart:457: objectIsNotNull: !node.object.definition.type.isNullable); Explain why the refined type is ...
5 years ago (2015-12-11 02:44:15 UTC) #4
asgerf
https://codereview.chromium.org/1519513002/diff/40001/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart File pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart (right): https://codereview.chromium.org/1519513002/diff/40001/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart#newcode457 pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart:457: objectIsNotNull: !node.object.definition.type.isNullable); On 2015/12/11 02:44:15, sra1 wrote: > Explain ...
5 years ago (2015-12-11 10:18:19 UTC) #5
asgerf
5 years ago (2015-12-14 14:01:38 UTC) #7
Message was sent while issue was closed.
Committed patchset #4 (id:80001) manually as
22bf979646f14d306544c97cc1187a553dedfff8 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698