|
|
Handle super-method invocations in CPS->JS backend.
InvokeSuperMethod has been replaced by InvokeMethodDirectly. This
instruction works like InvokeMethod, except it has an explicit target
element that it always invokes, regardless of overriding.
The new instruction is easier to handle in the JS backend, it is more
amenable to inlining, and it should also be useful for calling
backend-specific methods, such as constructor bodies.
When targeting Dart, we translate it back to a 'super' at the end,
because the instruction is never used for any other purpose with
that backend.
R=karlklose@google.com, sigurdm@google.com
Committed: https://code.google.com/p/dart/source/detail?r=43011
Total comments: 8
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+292 lines, -92 lines) |
Patch |
 |
M |
pkg/compiler/lib/src/compiler.dart
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
View
|
|
4 chunks |
+43 lines, -20 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_builder_visitor.dart
|
View
|
|
3 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
View
|
|
6 chunks |
+36 lines, -14 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/cps_ir/type_propagation.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
View
|
|
1 chunk |
+6 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
View
|
1
|
2 chunks |
+8 lines, -3 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/glue.dart
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
|
View
|
|
3 chunks |
+28 lines, -16 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
|
View
|
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
View
|
|
4 chunks |
+12 lines, -7 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart
|
View
|
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
pkg/compiler/lib/src/use_unused_api.dart
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
tests/compiler/dart2js/backend_dart/sexpr_test.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart
|
View
|
|
4 chunks |
+11 lines, -7 lines |
0 comments
|
Download
|
 |
M |
tests/compiler/dart2js/js_backend_cps_ir.dart
|
View
|
|
3 chunks |
+32 lines, -4 lines |
0 comments
|
Download
|
 |
A |
tests/compiler/dart2js/js_backend_cps_ir_supercall_test.dart
|
View
|
|
1 chunk |
+78 lines, -0 lines |
0 comments
|
Download
|
Total messages: 6 (1 generated)
|