ef8a308669
We have many tests that explicitly use --optimization-counter-threshold= flag. We also have a CI builder that uses this flag for all tests. This is an issue for cases where `kernel-isolate` is not AppJIT'ed, which is the case for simulators and ia32. Especially in debug builds this causes a very-very slow time-to main due to JIT'ing the CFE code in `kernel-isolate` and running flow graph checker etc (in debug mode). This causes various tests to sporadically hit the timeout limit, become flaky and require gardening attention. As workarounds: the actual threshold was modified in tests, status files were updated to mark tests as Pass,Slow etc. => This Cl will make `kernel-isolate` no longer be affected by the `--optimization-counter-threshold` => This should make the cycle times faster on those modes and avoid flaky timeouts that gardeners constantly have to pay attention to. TEST=ci Change-Id: Ia58e807b22f69f924315a43c6764427afe398ee6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/266683 Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Martin Kustermann <kustermann@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.