|
Add Vector type to Kernel
There are four operations that work on Vectors: Vector creation, looking
up an item in a Vector, assigning a value to an item in a Vector, and
copying a Vector. The first three operations are allowed to only use
integer literals as number operands (length for Vector creation, index
for item lookup and assignment). Corresponding AST nodes are created for
these operations.
Vectors are used to represent contexts in Closure Conversion. The parent
context is stored as item 0 in its children contexts. The "golden" tests
for this transformation are adjusted accordingly.
The support for Vectors is added to ast-to-text, ast-to-binary, and
binary-to-ast transformations.
R=asgerf@google.com, kmillikin@google.com
Committed: https://github.com/dart-lang/sdk/commit/9ab86da19cc8e3e55266066bcebf09f6bbc5f612
Total comments: 8
Total comments: 26
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+596 lines, -284 lines) |
Patch |
|
M |
pkg/kernel/binary.md
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+27 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/ast.dart
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+143 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/binary/ast_from_binary.dart
|
View
|
1
2
3
4
5
|
2 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/binary/ast_to_binary.dart
|
View
|
1
2
3
4
5
|
2 chunks |
+27 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/binary/tag.dart
|
View
|
1
2
3
4
5
6
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/frontend/accessors.dart
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/text/ast_to_text.dart
|
View
|
1
2
3
4
5
|
2 chunks |
+34 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/transformations/closure/context.dart
|
View
|
1
2
3
4
5
6
7
8
|
6 chunks |
+47 lines, -40 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/transformations/closure/converter.dart
|
View
|
1
2
3
4
5
6
7
8
|
4 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/transformations/closure/mock.dart
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/transformations/closure/rewriter.dart
|
View
|
1
2
3
4
5
|
4 chunks |
+25 lines, -32 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/transformations/treeshaker.dart
|
View
|
1
2
3
4
5
6
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/type_algebra.dart
|
View
|
1
2
3
4
5
6
|
3 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/type_checker.dart
|
View
|
1
2
3
4
5
6
|
1 chunk |
+41 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/type_propagation/builder.dart
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/lib/visitor.dart
|
View
|
1
2
3
|
5 chunks |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/test/closures/suite.dart
|
View
|
1
2
3
4
5
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/capture_closure.dart.expect
|
View
|
1
2
|
1 chunk |
+9 lines, -10 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/capture_closure_parameter.dart.expect
|
View
|
1
2
|
1 chunk |
+10 lines, -11 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/capture_this.dart.expect
|
View
|
1
2
|
2 chunks |
+15 lines, -16 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/catch.dart.expect
|
View
|
1
2
|
2 chunks |
+9 lines, -10 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/closure_in_constructor.dart.expect
|
View
|
1
2
|
1 chunk |
+11 lines, -12 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/closure_in_initializer.dart.expect
|
View
|
1
2
|
1 chunk |
+10 lines, -11 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/closure_in_initializer_closure.dart.expect
|
View
|
1
2
|
1 chunk |
+17 lines, -18 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/closures.dart.expect
|
View
|
1
2
|
2 chunks |
+6 lines, -7 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/field.dart.expect
|
View
|
|
2 chunks |
+12 lines, -13 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/for_in_closure.dart.expect
|
View
|
1
2
|
1 chunk |
+6 lines, -7 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/for_loop.dart.expect
|
View
|
1
2
3
4
5
|
1 chunk |
+15 lines, -16 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/for_variable_capture_test.dart.expect
|
View
|
1
2
3
4
5
|
1 chunk |
+8 lines, -9 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/instance_tear_off.dart.expect
|
View
|
|
5 chunks |
+18 lines, -19 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/named_closure.dart.expect
|
View
|
1
2
|
2 chunks |
+6 lines, -7 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/non_void_context.dart.expect
|
View
|
1
2
|
1 chunk |
+14 lines, -15 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/type_variables.dart.expect
|
View
|
1
2
|
2 chunks |
+15 lines, -16 lines |
0 comments
|
Download
|
|
M |
pkg/kernel/testcases/closures/uncaptured_for_in_loop.dart.expect
|
View
|
1
2
|
1 chunk |
+6 lines, -7 lines |
0 comments
|
Download
|
Total messages: 18 (7 generated)
|