0e65e45e9e
For calls via getters and fields front-end generates MethodInvocation node with interface target pointing to a getter/field. Such target doesn't fully represent what is being called - it should be implicitly chained by call(), so it is incorrect to use such interface target for type propagation. Change-Id: I76198b443474fdcb383671fbc9946b4938a4e1df Reviewed-on: https://dart-review.googlesource.com/c/88260 Auto-Submit: Alexander Markov <alexmarkov@google.com> Reviewed-by: Régis Crelier <regis@google.com> Commit-Queue: Régis Crelier <regis@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.