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

Issue 1153603006: dart2js cps: Type casts and related changes to 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: Type casts and related changes to type propagation. We now optimize type casts that always fail or always pass. Type propagation has been refactored a bit to make this work. A new IR node Unreachable has been added. This is an node that is known to be unreachable and is ultimately compiled to an empty statement. BUG= R=karlklose@google.com Committed: https://github.com/dart-lang/sdk/commit/d01d394af7f3e12c9577490820820330e216bece

Patch Set 1 #

Patch Set 2 : Adjust comments #

Total comments: 8

Patch Set 3 : Comments #

Patch Set 4 : Rebase Minor fixes #

Patch Set 5 : Fix in SExpression unstringifier #

Patch Set 6 : Another typo in SExpression unstrngifier #

Unified diffs Side-by-side diffs Delta from patch set Stats (+610 lines, -344 lines) Patch
M pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart View 1 2 chunks +12 lines, -11 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart View 2 chunks +1 line, -10 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart View 1 2 3 9 chunks +95 lines, -19 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart View 2 chunks +12 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart View 6 chunks +22 lines, -5 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart View 1 chunk +6 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 1 2 3 17 chunks +324 lines, -127 lines 0 comments Download
M pkg/compiler/lib/src/dart_types.dart View 1 chunk +4 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/backend.dart View 1 2 3 1 chunk +12 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/codegen.dart View 3 chunks +19 lines, -9 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/glue.dart View 1 chunk +11 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart View 1 chunk +4 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart View 2 chunks +14 lines, -5 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart View 1 7 chunks +24 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart View 2 chunks +8 lines, -0 lines 0 comments Download
M tests/co19/co19-dart2js.status View 8 chunks +0 lines, -97 lines 0 comments Download
M tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart View 1 2 3 4 5 7 chunks +37 lines, -12 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_closures_test.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_interceptors_test.dart View 1 chunk +2 lines, -2 lines 0 comments Download
M tests/compiler/dart2js_extra/dart2js_extra.status View 1 chunk +0 lines, -2 lines 0 comments Download
M tests/corelib/corelib.status View 3 chunks +1 line, -3 lines 0 comments Download
M tests/language/language_dart2js.status View 1 2 3 10 chunks +1 line, -27 lines 0 comments Download
M tests/lib/lib.status View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M tests/standalone/standalone.status View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 6 (1 generated)
asgerf
5 years, 6 months ago (2015-06-04 09:35:14 UTC) #2
karlklose
LGTM. https://codereview.chromium.org/1153603006/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart File pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart (right): https://codereview.chromium.org/1153603006/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart#newcode367 pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart:367: /// Therefore, [type] should not be [Object], `dynamic`, ...
5 years, 6 months ago (2015-06-08 09:46:53 UTC) #3
asgerf
https://codereview.chromium.org/1153603006/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart File pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart (right): https://codereview.chromium.org/1153603006/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart#newcode367 pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart:367: /// Therefore, [type] should not be [Object], `dynamic`, or ...
5 years, 6 months ago (2015-06-08 10:46:17 UTC) #4
karlklose
Still LGTM.
5 years, 6 months ago (2015-06-08 11:00:27 UTC) #5
asgerf
5 years, 6 months ago (2015-06-08 15:02:54 UTC) #6
Message was sent while issue was closed.
Committed patchset #6 (id:90001) manually as
d01d394af7f3e12c9577490820820330e216bece (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698