f8f0b845c2
Lazy lookup of source and line starts for scripts loaded from bytecode (implemented in https://dart-review.googlesource.com/c/sdk/+/112680) relied on source == Symbols::Empty() as an indication that lazy lookup is needed. However, when Script object is written into app-jit snapshot, its source is set to null which disables lazy lookup. This change introduces 'LazyLookupSourceAndLineStarts' flag in Script objects to avoid relying on value of 'source'. Fixes service/valid_source_locations_test with bytecode in app-jit mode. Change-Id: I38174a13d745a1ad9fecad466df745b1df527878 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117214 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: 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.