8a179fb953
New folder structure (nested under vm/): - compiler/ - jit/ - JIT specific code - aot/ - AOT specific code - backend/ - all middle-end and back-end code (IL, flow graph) - assembler/ - assemblers and disassemblers - frontend/ - front ends (AST -> IL, Kernel -> IL) compiler/README.md would be the documentation root for the compiler pipeline Bug: https://github.com/dart-lang/sdk/issues/30575 Change-Id: I2dfd9688793bff737f7632ddc77fca766875ce36 Reviewed-on: https://dart-review.googlesource.com/2940 Reviewed-by: Vyacheslav Egorov <vegorov@google.com> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
20 lines
1.0 KiB
Markdown
20 lines
1.0 KiB
Markdown
# 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.
|