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

Issue 1175973005: dart2js cps: Introduce some built-in operators in type propagation. (Closed)

Created:
5 years, 6 months ago by asgerf
Modified:
5 years, 6 months 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: Introduce some built-in operators in type propagation. There are also a number of somewhat unrelated changes to get better type information out of the global type inference. The dependency on TypedSelector is causing a lot of problems there. BUG= R=kmillikin@google.com Committed: https://github.com/dart-lang/sdk/commit/eec1d88d9cdf77d4c2dd64a4b0e8965dd1040ba3

Patch Set 1 #

Total comments: 24

Patch Set 2 : Comments #

Patch Set 3 : Improve propagation heuristic #

Total comments: 20

Patch Set 4 : Partial comments #

Patch Set 5 : Comments + removed leftover isDartMode field #

Patch Set 6 : Adjust a doc comment #

Patch Set 7 : Rebase #

Patch Set 8 : update js_backend_cps_ir tests #

Patch Set 9 : Status files #

Unified diffs Side-by-side diffs Delta from patch set Stats (+691 lines, -158 lines) Patch
A pkg/compiler/lib/src/cps_ir/builtin_operator.dart View 1 1 chunk +59 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart View 1 2 3 4 5 6 4 chunks +9 lines, -6 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart View 6 chunks +24 lines, -9 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart View 1 2 3 4 5 6 2 chunks +10 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart View 2 chunks +9 lines, -6 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart View 1 chunk +4 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 1 2 3 4 5 6 20 chunks +275 lines, -104 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/codegen.dart View 1 2 chunks +38 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/task.dart View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart View 1 2 3 2 chunks +50 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart View 1 chunk +5 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart View 1 2 3 4 9 chunks +125 lines, -15 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart View 1 2 3 4 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart View 7 chunks +36 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart View 1 chunk +6 lines, -0 lines 0 comments Download
M tests/co19/co19-dart2js.status View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart View 3 chunks +22 lines, -0 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_closures_test.dart View 1 2 3 4 5 6 7 3 chunks +5 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_interceptors_test.dart View 1 2 3 4 5 6 7 2 chunks +3 lines, -4 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_supercall_test.dart View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js_extra/dart2js_extra.status View 1 2 3 4 5 6 7 8 2 chunks +1 line, -1 line 0 comments Download

Messages

Total messages: 9 (1 generated)
asgerf
https://codereview.chromium.org/1175973005/diff/1/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart File pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart (right): https://codereview.chromium.org/1175973005/diff/1/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart#newcode405 pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart:405: // Right now the tree builder compiles IsFalsy to ...
5 years, 6 months ago (2015-06-10 18:26:24 UTC) #2
sra1
DBC https://chromiumcodereview.appspot.com/1175973005/diff/1/pkg/compiler/lib/src/cps_ir/builtin_operator.dart File pkg/compiler/lib/src/cps_ir/builtin_operator.dart (right): https://chromiumcodereview.appspot.com/1175973005/diff/1/pkg/compiler/lib/src/cps_ir/builtin_operator.dart#newcode6 pkg/compiler/lib/src/cps_ir/builtin_operator.dart:6: // Both cps_ir_nodes and tree_ir_nodes import and reexport ...
5 years, 6 months ago (2015-06-10 21:07:38 UTC) #3
asgerf
https://codereview.chromium.org/1175973005/diff/1/pkg/compiler/lib/src/cps_ir/builtin_operator.dart File pkg/compiler/lib/src/cps_ir/builtin_operator.dart (right): https://codereview.chromium.org/1175973005/diff/1/pkg/compiler/lib/src/cps_ir/builtin_operator.dart#newcode6 pkg/compiler/lib/src/cps_ir/builtin_operator.dart:6: // Both cps_ir_nodes and tree_ir_nodes import and reexport this ...
5 years, 6 months ago (2015-06-11 11:16:40 UTC) #4
asgerf
PTAL at patch #3. Now built-in operators are propagated as pure expressions, although this propagation ...
5 years, 6 months ago (2015-06-11 15:24:28 UTC) #5
Kevin Millikin (Google)
This LGTM. https://codereview.chromium.org/1175973005/diff/40001/pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart File pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart (right): https://codereview.chromium.org/1175973005/diff/40001/pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart#newcode328 pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart:328: return '(TypeExpression ${node.dartType.toString()} ($args))'; Since you're changing ...
5 years, 6 months ago (2015-06-12 12:19:10 UTC) #6
asgerf
https://codereview.chromium.org/1175973005/diff/40001/pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart File pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart (right): https://codereview.chromium.org/1175973005/diff/40001/pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart#newcode328 pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart:328: return '(TypeExpression ${node.dartType.toString()} ($args))'; On 2015/06/12 12:19:10, Kevin Millikin ...
5 years, 6 months ago (2015-06-15 09:26:18 UTC) #7
Kevin Millikin (Google)
https://codereview.chromium.org/1175973005/diff/40001/pkg/compiler/lib/src/cps_ir/type_propagation.dart File pkg/compiler/lib/src/cps_ir/type_propagation.dart (right): https://codereview.chromium.org/1175973005/diff/40001/pkg/compiler/lib/src/cps_ir/type_propagation.dart#newcode510 pkg/compiler/lib/src/cps_ir/type_propagation.dart:510: if (use is! IsTrue) { On 2015/06/15 09:26:18, asgerf ...
5 years, 6 months ago (2015-06-15 10:24:09 UTC) #8
asgerf
5 years, 6 months ago (2015-06-15 15:31:54 UTC) #9
Message was sent while issue was closed.
Committed patchset #9 (id:160001) manually as
eec1d88d9cdf77d4c2dd64a4b0e8965dd1040ba3 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698