c740bbc161
- change the null_safety flag to be a tri state flag (unspecified, no null safety and null safety) - added logic to set the null safety mode of an isolate based on the value specified in the kernel file (.dill file) if the null safety flag is not specified on the command line - added logic to auto detect the null safety mode based on the language version API provided by CFE - added logic to pass the correct null safety option to CFE when invoking it for compilation based on the null-safety flag setting - Delete non-nullable-flag() function and adjust code that was using it. - Remove 'nnbd-experiment' from the snapshot string. https://github.com/dart-lang/sdk/issues/41206 https://github.com/dart-lang/sdk/issues/41207 Change-Id: I006bf3c9229980fc7986faac6a5850d3722aec92 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143160 Commit-Queue: Siva Annamalai <asiva@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com> Reviewed-by: Régis Crelier <regis@google.com> Reviewed-by: Liam Appelbe <liama@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
Dart VM Compilation Pipeline
This folder contains Dart VM compilation pipeline.
Compilation pipeline is mainly responsible for converting AST or Kernel AST into IL flow graphs and then generating native code from IL.
It has the following structure:
| Directory | What goes there |
|---|---|
assembler/ |
Assemblers and disassemblers |
backend/ |
IL based compilation backend: optimization passes and architecture specific code generation rules |
frontend/ |
Frontends responsible for converting AST into IL |
jit/ |
JIT specific passes and compilation pipeline entry points |
aot/ |
AOT specific passes and compilation pipeline entry points |
. |
Shared code or code without clear designation. |
Currently there are no layering restrictions and components from different subfolders can reference each other.