|
|
Overhaul tree IR visitor and rename IR classes.
Changes in both IRs:
- ExecutableDefinition -> RootNode
- PassMixin has been removed and the Pass interface has been
reduced to a single rewrite(RootNode) method.
- ConstructorDefinition no longer subclasses FunctionDefinition.
Changes in the cps IR:
- RunnableBody -> Body
Changes in tree IR:
- RootNodes have "forEachBody" and "replaceEachBody" helper methods that
take care of the boilerplate for traversing roots and initializers.
- We now have visitors for initializers and root nodes. The RecursiveVisitor still
just visits statements and expressions since forEachBody takes care of the root
nodes and initializers.
- Initializers are no longer expressions. Why were they expressions?
- We now have a RecursiveTransformer class which behaves like RecursiveVisitor,
except visitors are expected to return a transformed node.
This removes a lot of boilerplate traversal from transformations.
R=kmillikin@google.com
Committed: https://code.google.com/p/dart/source/detail?r=45000
Reverted: https://code.google.com/p/dart/source/detail?r=45004
Committed: https://code.google.com/p/dart/source/detail?r=45006
Total comments: 36
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+695 lines, -860 lines) |
Patch |
 |
M |
pkg/analyzer2dart/lib/src/cps_generator.dart
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/analyzer2dart/test/sexpr_test.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
View
|
1
2
3
|
4 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart
|
View
|
1
2
3
|
13 chunks |
+21 lines, -23 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_integrity.dart
|
View
|
|
3 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
View
|
1
2
3
|
11 chunks |
+60 lines, -61 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
View
|
1
|
9 chunks |
+48 lines, -46 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/optimizers.dart
|
View
|
|
1 chunk |
+1 line, -25 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/redundant_phi.dart
|
View
|
1
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart
|
View
|
|
5 chunks |
+7 lines, -5 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/type_propagation.dart
|
View
|
|
8 chunks |
+10 lines, -10 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/dart_backend/backend.dart
|
View
|
1
|
5 chunks |
+21 lines, -22 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
View
|
1
2
3
|
14 chunks |
+48 lines, -40 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/dart_backend/backend_ast_nodes.dart
|
View
|
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/dart_backend/backend_ast_to_frontend_ast.dart
|
View
|
1
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
View
|
|
2 chunks |
+2 lines, -11 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/tracer.dart
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
View
|
|
6 chunks |
+10 lines, -176 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart
|
View
|
|
3 chunks |
+7 lines, -67 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/optimization.dart
|
View
|
|
2 chunks |
+1 line, -24 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart
|
View
|
|
3 chunks |
+7 lines, -31 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/variable_merger.dart
|
View
|
1
2
|
6 chunks |
+35 lines, -135 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
|
View
|
|
6 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_integrity.dart
|
View
|
|
3 chunks |
+14 lines, -17 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
View
|
1
|
16 chunks |
+326 lines, -104 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart
|
View
|
1
|
6 chunks |
+21 lines, -21 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/use_unused_api.dart
|
View
|
1
2
3
4
|
3 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
 |
M |
tests/compiler/dart2js/backend_dart/sexpr2_test.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
tests/compiler/dart2js/js_backend_cps_ir_source_information_test.dart
|
View
|
|
1 chunk |
+3 lines, -6 lines |
0 comments
|
Download
|
Total messages: 11 (2 generated)
|