|
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
Total comments: 2
|
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
|
Total messages: 6 (2 generated)
|