Files
sdk/runtime/vm/compiler
Tess Strickland 32b8c8f12f [vm,dyn_modules] Fix the interpreter case in GenerateResumeStub.
Previously, it would always call the ResumeInterpreter runtime entry
passing null as the value to return to the resumed code. Instead,
appropriately retrieve the to-be-returned value from the stack.

Also fixes IL printing to print constants in non-SSA flow graphs and
adds Interpreter::TraceStackFrames, which prints the top frames of the
current stack, so calls to it can be added for easier debugging in the
future.

TEST=pkg/vm_service/test/async_star_step_out_test.dart
     (still fails, but the failure changes due to no longer spuriously
      calling get:current after the generator finishes)

Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try
Change-Id: Ibb3524d32c8c4e1320f4f9dfd35947eda7d6ca68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/488181
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2026-03-16 09:35:38 -07:00
..
2026-01-27 09:14:39 -08:00

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.