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

Side by Side Diff: pkg/kernel/binary.md

Issue 2767773004: Add Vector type to Kernel (Closed)
Patch Set: Reformat comment with Markdown, throw exception in type propagation Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pkg/kernel/lib/ast.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 This file describes the binary format of Dart Kernel. 1 This file describes the binary format of Dart Kernel.
2 2
3 Notation 3 Notation
4 -------- 4 --------
5 Bitmasks are described with the syntax: 5 Bitmasks are described with the syntax:
6 ```scala 6 ```scala
7 Byte flags (flag1, flag2, ..., flagN) 7 Byte flags (flag1, flag2, ..., flagN)
8 ``` 8 ```
9 where 'flag<N>' is the N-th least significant bit, 9 where 'flag<N>' is the N-th least significant bit,
10 (so flag1 is the least significant bit). 10 (so flag1 is the least significant bit).
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after
653 type LoadLibrary extends Expression { 653 type LoadLibrary extends Expression {
654 Byte tag = 14; 654 Byte tag = 14;
655 DeferredImportReference import; 655 DeferredImportReference import;
656 } 656 }
657 657
658 type CheckLibraryIsLoaded extends Expression { 658 type CheckLibraryIsLoaded extends Expression {
659 Byte tag = 13; 659 Byte tag = 13;
660 DeferredImportReference import; 660 DeferredImportReference import;
661 } 661 }
662 662
663 type VectorCreation extends Expression {
664 Byte tag = 102;
665 UInt length;
666 }
667
668 type VectorGet extends Expression {
669 Byte tag = 103;
670 Expression vectorExpression;
671 UInt index;
672 }
673
674 type VectorSet extends Expression {
675 Byte tag = 104;
676 Expression vectorExpression;
677 UInt index;
678 Expression value;
679 }
680
681 type VectorCopy extends Expression {
682 Byte tag = 105;
683 Expression vectorExpression;
684 }
685
663 abstract type Statement extends Node {} 686 abstract type Statement extends Node {}
664 687
665 type InvalidStatement extends Statement { 688 type InvalidStatement extends Statement {
666 Byte tag = 60; 689 Byte tag = 60;
667 } 690 }
668 691
669 type ExpressionStatement extends Statement { 692 type ExpressionStatement extends Statement {
670 Byte tag = 61; 693 Byte tag = 61;
671 Expression expression; 694 Expression expression;
672 } 695 }
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
909 // scope there. 932 // scope there.
910 // 933 //
911 // The type parameter can be bound by a Class, FunctionNode, or FunctionType. 934 // The type parameter can be bound by a Class, FunctionNode, or FunctionType.
912 // 935 //
913 // Note that constructors currently do not declare type parameters. Uses of 936 // Note that constructors currently do not declare type parameters. Uses of
914 // the class type parameters in a constructor refer to those declared on the 937 // the class type parameters in a constructor refer to those declared on the
915 // class. 938 // class.
916 UInt index; 939 UInt index;
917 } 940 }
918 941
942 type VectorType extends DartType {
943 Byte tag = 88;
944 }
945
919 type TypeParameter { 946 type TypeParameter {
920 // Note: there is no tag on TypeParameter 947 // Note: there is no tag on TypeParameter
921 StringReference name; // Cosmetic, may be empty, not unique. 948 StringReference name; // Cosmetic, may be empty, not unique.
922 DartType bound; // 'dynamic' if no explicit bound was given. 949 DartType bound; // 'dynamic' if no explicit bound was given.
923 } 950 }
924 951
925 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */ 952 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */
926 953
927 type InferredValue { 954 type InferredValue {
928 ClassReference baseClass; // May be NullReference if kind = None. 955 ClassReference baseClass; // May be NullReference if kind = None.
929 Byte kind; // Index into BaseClassKind. 956 Byte kind; // Index into BaseClassKind.
930 Byte valueBits; // See lib/type_propagation/type_propagation.dart 957 Byte valueBits; // See lib/type_propagation/type_propagation.dart
931 } 958 }
932 959
933 ``` 960 ```
OLDNEW
« no previous file with comments | « no previous file | pkg/kernel/lib/ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698