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

Issue 1474713002: dart2js cps: Clean up and avoid processing unreachable code. (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: Clean up and avoid processing unreachable code. Primitives now have a getter 'hasValue' to distinguish primitives that don't return a value, such as SetField. The interceptor for TypeTestViaFlag is now inserted on-demand. Non-instantiated intercepted classes are removed the set of intercepted classes. This avoids an assertion failure, although it would be better to avoid adding them in the first place. The type of closure fields for boxes and type variables no longer go through the global type inference. A test fails because the type inference infers an empty type for a closure field for a torn-off `.call` method. It's an existing problem that we now have at least one failing test for. CreateFunction has been removed from CPS and Tree. BUG= R=sra@google.com Committed: https://github.com/dart-lang/sdk/commit/f77a6815c6a6776480a9d5ab765c26dc0db32501

Patch Set 1 #

Patch Set 2 : Revert unneeded change #

Patch Set 3 : Compute strict types for GetField, GetIndex #

Total comments: 8

Patch Set 4 : Emit Throw instead of Unreachable #

Patch Set 5 : Merge #

Unified diffs Side-by-side diffs Delta from patch set Stats (+145 lines, -237 lines) Patch
M pkg/compiler/lib/src/constants/values.dart View 1 2 3 2 chunks +4 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart View 39 chunks +48 lines, -43 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart View 2 chunks +1 line, -10 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart View 3 chunks +1 line, -12 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/gvn.dart View 1 chunk +1 line, -4 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_mask_system.dart View 2 chunks +9 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 1 2 3 4 14 chunks +74 lines, -55 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/codegen.dart View 1 2 3 4 1 chunk +0 lines, -6 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/unsugar.dart View 1 chunk +0 lines, -12 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart View 2 chunks +2 lines, -7 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart View 3 chunks +4 lines, -9 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart View 1 chunk +0 lines, -9 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart View 3 chunks +0 lines, -9 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/variable_merger.dart View 3 chunks +0 lines, -15 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart View 1 chunk +0 lines, -5 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_integrity.dart View 1 chunk +0 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart View 8 chunks +0 lines, -32 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart View 1 chunk +0 lines, -4 lines 0 comments Download
M tests/language/language_dart2js.status View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
asgerf
5 years ago (2015-11-24 15:40:10 UTC) #2
asgerf
On 2015/11/24 15:40:10, asgerf wrote: Friendly ping.
5 years ago (2015-11-27 17:21:29 UTC) #3
sra1
lgtm https://codereview.chromium.org/1474713002/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/1474713002/diff/40001/pkg/compiler/lib/src/cps_ir/type_propagation.dart#newcode684 pkg/compiler/lib/src/cps_ir/type_propagation.dart:684: // If one of the parameters have no ...
5 years ago (2015-11-27 19:16:45 UTC) #4
asgerf
https://codereview.chromium.org/1474713002/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/1474713002/diff/40001/pkg/compiler/lib/src/cps_ir/type_propagation.dart#newcode684 pkg/compiler/lib/src/cps_ir/type_propagation.dart:684: // If one of the parameters have no value, ...
5 years ago (2015-11-30 14:27:20 UTC) #5
asgerf
5 years ago (2015-11-30 14:28:51 UTC) #7
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as
f77a6815c6a6776480a9d5ab765c26dc0db32501 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698