dart-sdk/pkg/vm
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
..
bin Revert "[vm/kernel] Enable kernel2kernel "constants" transformation in AOT mode (after running TFA)" 2018-05-11 17:50:46 +00:00
lib [kernel, vm] Revise how metadata is written in kernel binaries 2018-05-15 00:41:08 +00:00
test [vm/kernel/aot] Fix handling of type parameters and annotations on typedefs in TFA tree shaker 2018-05-14 23:04:48 +00:00
testcases [vm/kernel/aot] Fix handling of type parameters and annotations on typedefs in TFA tree shaker 2018-05-14 23:04:48 +00:00
tool [VM interpreter] Recover EntryOptional bytecode, improve interpreter tracing. 2018-05-11 22:39:49 +00:00
analysis_options.yaml [VM] Move kernel service to pkg/vm, populate pkg/vm with necessary files 2017-11-17 17:45:03 +00:00
LICENSE [VM] Move kernel service to pkg/vm, populate pkg/vm with necessary files 2017-11-17 17:45:03 +00:00
pubspec.yaml [VM] Wire up package:vm/kernel_front_end in precompiler2 and test.py 2017-12-04 22:28:39 +00:00
README.md [VM] Add VM specific package pkg/vm and use it to host transitionary wrappers. 2017-11-14 21:06:54 +00:00

This package hosts VM specific Dart code and helper scripts.