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

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

Issue 2790093002: Hacky streaming of VariableGet (Closed)
Patch Set: Created 3 years, 8 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') | pkg/kernel/lib/ast.dart » ('J')
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 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 331
332 abstract type Expression extends Node {} 332 abstract type Expression extends Node {}
333 333
334 type InvalidExpression extends Expression { 334 type InvalidExpression extends Expression {
335 Byte tag = 19; 335 Byte tag = 19;
336 } 336 }
337 337
338 type VariableGet extends Expression { 338 type VariableGet extends Expression {
339 Byte tag = 20; 339 Byte tag = 20;
340 FileOffset fileOffset; 340 FileOffset fileOffset;
341 UInt variableDeclarationPosition; // Notice that this field is temporary.
Kevin Millikin (Google) 2017/04/05 08:59:57 I don't think the comment belongs here. But do sa
341 VariableReference variable; 342 VariableReference variable;
342 } 343 }
343 344
344 type SpecializedVariableGet extends Expression { 345 type SpecializedVariableGet extends Expression {
345 Byte tag = 128 + N; // Where 0 <= N < 8. 346 Byte tag = 128 + N; // Where 0 <= N < 8.
346 // Equivalent to a VariableGet with index N. 347 // Equivalent to a VariableGet with index N.
347 FileOffset fileOffset; 348 FileOffset fileOffset;
349 UInt variableDeclarationPosition; // Notice that this field is temporary.
348 } 350 }
349 351
350 type VariableSet extends Expression { 352 type VariableSet extends Expression {
351 Byte tag = 21; 353 Byte tag = 21;
352 FileOffset fileOffset; 354 FileOffset fileOffset;
353 VariableReference variable; 355 VariableReference variable;
354 Expression value; 356 Expression value;
355 } 357 }
356 358
357 type SpecializedVariableSet extends Expression { 359 type SpecializedVariableSet extends Expression {
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
940 Byte tag = 88; 942 Byte tag = 88;
941 } 943 }
942 944
943 type TypeParameter { 945 type TypeParameter {
944 // Note: there is no tag on TypeParameter 946 // Note: there is no tag on TypeParameter
945 StringReference name; // Cosmetic, may be empty, not unique. 947 StringReference name; // Cosmetic, may be empty, not unique.
946 DartType bound; // 'dynamic' if no explicit bound was given. 948 DartType bound; // 'dynamic' if no explicit bound was given.
947 } 949 }
948 950
949 ``` 951 ```
OLDNEW
« no previous file with comments | « no previous file | pkg/kernel/lib/ast.dart » ('j') | pkg/kernel/lib/ast.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698