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

Issue 1155463005: dart2js cps: Remove dart2dart from cps pipeline and clean up. (Closed)

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

Description

dart2js cps: Remove dart2dart from cps pipeline and clean up. Removing dart2dart stuff is the most radical change, but there's also a bunch of general clean up, some of it somewhat unrelated, but long overdue. I've focused on making the IR easier to read end-to-end. For instance, I've stripped out a complicated assertion on InvokeMethod, because it is distracting and hasn't paid off. AFAIK it never caught a single bug, but a few times it has spuriously failed and needed patching. Some notable changes in the IR: - Removed FieldDefinition, ConstructorDefinition, Initializers. - Removed RootNode. There was only one subclass left. - Removed Body. Has been inlined into FunctionDefinition. - MutableVariable can no longer be a function parameter. - Removed default parameter values and local constants from the IR. I decided to keep nested functions for the time being because there is a slight chance they might come in handy for async/await. I'm not sure yet. We can strip them out later if they are not needed. I've also left the subclassing JsIrBuilder <: IrBuilder for now, even though the classes could be merged. Same with the visitor. BUG= R=kmillikin@google.com Committed: https://github.com/dart-lang/sdk/commit/ac4ab2b5b7472e83d2112c8e1d0473541c7237a4

Patch Set 1 #

Total comments: 2

Patch Set 2 : Address comment + prevent unused code warning #

Patch Set 3 : Delete or whitelist remaining unused code #

Patch Set 4 : Skip tests specific to the dart backend #

Unified diffs Side-by-side diffs Delta from patch set Stats (+335 lines, -3426 lines) Patch
M pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart View 1 2 4 chunks +14 lines, -318 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart View 17 chunks +25 lines, -333 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_integrity.dart View 5 chunks +9 lines, -37 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart View 36 chunks +129 lines, -385 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart View 3 chunks +2 lines, -70 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart View 8 chunks +1 line, -62 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/optimizers.dart View 1 chunk +3 lines, -5 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/redundant_phi.dart View 2 chunks +5 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart View 6 chunks +5 lines, -39 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 11 chunks +8 lines, -49 lines 0 comments Download
M pkg/compiler/lib/src/dart_backend/backend.dart View 1 2 4 chunks +2 lines, -87 lines 0 comments Download
M pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart View 5 chunks +3 lines, -1348 lines 0 comments Download
M pkg/compiler/lib/src/dart_backend/backend_ast_nodes.dart View 6 chunks +1 line, -7 lines 0 comments Download
M pkg/compiler/lib/src/dart_backend/dart_backend.dart View 1 chunk +0 lines, -12 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/codegen.dart View 1 chunk +3 lines, -23 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/task.dart View 2 chunks +2 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/unsugar.dart View 4 chunks +4 lines, -7 lines 0 comments Download
M pkg/compiler/lib/src/tracer.dart View 1 chunk +2 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart View 2 chunks +9 lines, -3 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart View 2 chunks +6 lines, -3 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/optimization.dart View 1 chunk +4 lines, -7 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart View 6 chunks +10 lines, -17 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart View 6 chunks +6 lines, -26 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/variable_merger.dart View 7 chunks +14 lines, -38 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart View 8 chunks +8 lines, -114 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_integrity.dart View 5 chunks +4 lines, -21 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart View 22 chunks +16 lines, -283 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart View 6 chunks +8 lines, -49 lines 0 comments Download
M pkg/compiler/lib/src/use_unused_api.dart View 1 2 1 chunk +5 lines, -10 lines 0 comments Download
M tests/compiler/dart2js/analyze_unused_dart2js_test.dart View 1 2 1 chunk +15 lines, -0 lines 0 comments Download
D tests/compiler/dart2js/backend_dart/dart_new_backend_test.dart View 1 2 1 chunk +0 lines, -63 lines 0 comments Download
M tests/compiler/dart2js/backend_dart/sexpr2_test.dart View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/dart2js.status View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_source_information_test.dart View 1 2 3 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 6 (2 generated)
asgerf
5 years, 6 months ago (2015-05-29 13:06:03 UTC) #3
Kevin Millikin (Google)
This is seriously very nice. LGTM. It will conflict with changes in flight, but I ...
5 years, 6 months ago (2015-05-29 14:09:17 UTC) #4
asgerf
https://codereview.chromium.org/1155463005/diff/1/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart File pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart (right): https://codereview.chromium.org/1155463005/diff/1/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode830 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:830: /// Create a [ir.FunctionDefinition] for [element] using [_root] as ...
5 years, 6 months ago (2015-05-29 14:18:03 UTC) #5
asgerf
5 years, 6 months ago (2015-05-29 15:39:06 UTC) #6
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
ac4ab2b5b7472e83d2112c8e1d0473541c7237a4 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698