dart-sdk/pkg
Alexander Markov 344c68e54c [kernel, vm] Revise how metadata is written in kernel binaries
Metadata is no longer written ahead of all nodes. Instead, metadata for
each node is written in the same context as the node itself (into a separate
buffer). This allows metadata to contain (serialize) arbitrary nodes
(for example, arbitrary DartTypes) and use serialization context of parent
nodes (such as declared type parameters).

However, with this change metadata looses the ability to reference
arbitrary AST nodes. This ability was overly restricted and had no
practical uses. (It was not possible to reference nodes which are not
reachable from root Component. As a consequence, it was not possible to
write references to arbitrary DartTypes.)

This change aligns the serialization capabilities of metadata with
how kernel AST nodes are serialized.

Change-Id: I027299a33b599b62572eccd4aa7083ad1dd2b3b3
Reviewed-on: https://dart-review.googlesource.com/54481
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-05-15 00:41:08 +00:00
..
analysis_server Remove some dead code from analysis_server 2018-05-14 18:57:17 +00:00
analysis_server_client Clean up some hints 2018-03-26 17:39:18 +00:00
analyzer [kernel, vm] Revise how metadata is written in kernel binaries 2018-05-15 00:41:08 +00:00
analyzer_cli Enable preview-dart-2 as default for analyzer. 2018-04-26 17:01:12 +00:00
analyzer_plugin Update FoldingKinds enum, update specs and increase version number 2018-05-14 16:48:48 +00:00
async_helper
compiler [dart2js] $async$self does not require a temp 2018-05-15 00:29:48 +00:00
dart_internal Make warning more warning-y. 2018-03-02 02:04:44 +00:00
dart_messages Remove uses of upper-case constants in remaining SDK code. 2018-04-16 16:11:57 +00:00
dev_compiler Revert "Fix issues with FileSystemEntities which have non-UTF8 paths causing exceptions to be thrown when converting to/from a Dart VM String." 2018-05-14 23:40:29 +00:00
expect Clean up documentation of implicit new/const insertions tests. 2018-04-10 14:49:41 +00:00
front_end Restrict analyzer/front_end/kernel SDK versions to dev.48+. 2018-05-14 19:32:45 +00:00
js
js_ast Remove Dart 2 errors in package:js_ast 2018-03-30 11:21:21 +00:00
kernel [kernel, vm] Revise how metadata is written in kernel binaries 2018-05-15 00:41:08 +00:00
meta Meta CHANGELOG markdown cleanup. 2018-05-03 20:52:40 +00:00
microlytics
sourcemap_testing Use int.tryParse in sourcemap_testing 2018-05-14 13:56:18 +00:00
status_file Revert "[vm/kernel] Expression execution through Kernel. 2018-05-09 12:41:00 +00:00
telemetry Remove uses of upper-case constants in remaining SDK code. 2018-04-16 16:11:57 +00:00
testing [dart:io] Provide modern Dart-styled constants 2018-05-03 17:00:14 +00:00
vm [kernel, vm] Revise how metadata is written in kernel binaries 2018-05-15 00:41:08 +00:00
.gitignore
BUILD.gn
pkg.status Fix bots after preview-dart2 was switched on by default. 2018-04-26 20:09:56 +00:00