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

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

Issue 2697193008: [Kernel] replace function debuggable field with originalAsyncMarker field (Closed)
Patch Set: Changes based on feedback (+ small forgotten things) Created 3 years, 10 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/analyzer/ast_from_analyzer.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 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 type LocalInitializer extends Initializer { 316 type LocalInitializer extends Initializer {
317 Byte tag = 11; 317 Byte tag = 11;
318 VariableDeclaration variable; 318 VariableDeclaration variable;
319 } 319 }
320 320
321 /* 321 /*
322 enum AsyncMarker { 322 enum AsyncMarker {
323 Sync, 323 Sync,
324 SyncStar, 324 SyncStar,
325 Async, 325 Async,
326 AsyncStar 326 AsyncStar
Kevin Millikin (Google) 2017/02/22 07:59:59 Hmm, SyncYielding is missing.
jensj 2017/02/22 10:36:45 Added.
327 } 327 }
328 */ 328 */
329 329
330 type FunctionNode { 330 type FunctionNode {
331 // Note: there is no tag on FunctionNode. 331 // Note: there is no tag on FunctionNode.
332 FileOffset fileOffset; 332 FileOffset fileOffset;
333 FileOffset fileEndOffset; 333 FileOffset fileEndOffset;
334 Byte asyncMarker; // Index into AsyncMarker above. 334 Byte asyncMarker; // Index into AsyncMarker above.
335 Byte debuggable; // 1 for yes, 0 for no 335 Byte originalAsyncMarker; // Index into AsyncMarker above.
336 List<TypeParameter> typeParameters; 336 List<TypeParameter> typeParameters;
337 UInt requiredParameterCount; 337 UInt requiredParameterCount;
338 List<VariableDeclaration> positionalParameters; 338 List<VariableDeclaration> positionalParameters;
339 List<VariableDeclaration> namedParameters; 339 List<VariableDeclaration> namedParameters;
340 DartType returnType; 340 DartType returnType;
341 Option<InferredValue> inferredReturnValue; 341 Option<InferredValue> inferredReturnValue;
342 Option<Statement> body; 342 Option<Statement> body;
343 } 343 }
344 344
345 type VariableReference { 345 type VariableReference {
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after
940 940
941 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */ 941 /* enum BaseClassKind { None, Exact, Subclass, Subtype, } */
942 942
943 type InferredValue { 943 type InferredValue {
944 ClassReference baseClass; // May be NullReference if kind = None. 944 ClassReference baseClass; // May be NullReference if kind = None.
945 Byte kind; // Index into BaseClassKind. 945 Byte kind; // Index into BaseClassKind.
946 Byte valueBits; // See lib/type_propagation/type_propagation.dart 946 Byte valueBits; // See lib/type_propagation/type_propagation.dart
947 } 947 }
948 948
949 ``` 949 ```
OLDNEW
« no previous file with comments | « no previous file | pkg/kernel/lib/analyzer/ast_from_analyzer.dart » ('j') | pkg/kernel/lib/ast.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698