b7c3c32f63
During SSA construction in strong mode, types of local variables are propagated (assigned) to phis which are 'loaded' from slots corresponding to those local variables. It is incorrect if phi was stored in a different local variable with a more specific type and then reloaded. After this change, type is propagated from local variable to phis only if phi was created for this local. Fixes https://github.com/dart-lang/sdk/issues/32597 Change-Id: I7d86c2ef79d14895c9b4c3651d0234b3f9c66173 Reviewed-on: https://dart-review.googlesource.com/47200 Reviewed-by: Vyacheslav Egorov <vegorov@google.com> Commit-Queue: Alexander Markov <alexmarkov@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.